

.kf-utility-section{ background:#f4f8f7; padding:70px 5% 100px; align-items:flex-start; }
.kf-utility-narrow{ max-width:520px; margin:0 auto; width:100%; }

.kf-auth-card{
  background:#fff; border-radius:26px; padding:42px 36px; text-align:center;
  border:1px solid rgba(11,94,101,.08); box-shadow:0 16px 40px rgba(11,94,101,.08);
}
.kf-auth-logo{ width:64px; margin:0 auto 18px; display:block; }
.kf-auth-card h1{ font-size:24px; font-weight:900; color:var(--text-dark); margin:0 0 8px; }
.kf-auth-card > p{ font-size:13.5px; color:var(--text-muted); font-weight:600; margin:0 0 28px; }

.kf-field{ text-align:right; margin-bottom:18px; }
.kf-field label{ display:block; font-size:13px; font-weight:800; color:var(--text-dark); margin-bottom:7px; }
.kf-field-input{
  display:flex; align-items:center; gap:10px; border:1.5px solid rgba(11,94,101,.15); border-radius:12px;
  padding:12px 14px; transition:border-color .2s ease;
}
.kf-field-input:focus-within{ border-color:var(--primary); }
.kf-field-input i{ color:var(--primary); font-size:15px; width:16px; text-align:center; }
.kf-field-input input{
  border:none; outline:none; flex:1; font-family:'Cairo',sans-serif; font-size:14px; color:var(--text-dark); background:transparent;
}
.kf-field-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; font-size:12.5px; }
.kf-field-check{ display:flex; align-items:center; gap:7px; color:var(--text-muted); font-weight:700; }
.kf-field-forgot{ color:var(--primary); font-weight:800; text-decoration:none; }
.kf-field-forgot:hover{ text-decoration:underline; }

.kf-form-submit{ width:100%; justify-content:center; border:none; cursor:pointer; font-size:15px; }
.kf-auth-switch{ margin-top:22px; font-size:13px; color:var(--text-muted); font-weight:700; }
.kf-auth-switch a{ color:var(--primary); font-weight:800; text-decoration:none; }
.kf-auth-switch a:hover{ text-decoration:underline; }

.kf-form-notice{
  display:flex; align-items:flex-start; gap:8px; font-size:13px; font-weight:700; border-radius:12px;
  padding:12px 14px; margin-bottom:20px; text-align:right; line-height:1.6;
}
.kf-form-notice.error{ background:rgba(220,60,60,.08); color:#b23434; }
.kf-form-notice.success{ background:rgba(11,94,101,.08); color:var(--primary); }

.kf-404-section{ min-height:78vh; display:flex; align-items:center; justify-content:center; padding:60px 5%; }
.kf-404-wrap{ max-width:640px; text-align:center; margin:0 auto; }
.kf-404-art{ width:min(340px,80%); margin:0 auto 10px; }
.kf-404-wrap h1{ font-size:clamp(28px,4vw,42px); font-weight:900; color:var(--text-dark); margin:10px 0 12px; }
.kf-404-wrap h1 span{ color:var(--primary); }
.kf-404-wrap p{ font-size:15px; color:var(--text-muted); font-weight:600; margin:0 0 30px; line-height:1.8; }
.kf-404-search{
  display:flex; align-items:center; gap:10px; background:#f4f8f7; border:1.5px solid rgba(11,94,101,.12);
  border-radius:50px; padding:8px 8px 8px 20px; max-width:420px; margin:0 auto 26px;
}
.kf-404-search input{ flex:1; border:none; outline:none; background:transparent; font-family:'Cairo',sans-serif; font-size:14px; }
.kf-404-search button{
  border:none; cursor:pointer; background:linear-gradient(135deg,var(--secondary-light),var(--secondary));
  color:var(--primary-dark); width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.kf-404-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

.kf-contact-section{ background:#f4f8f7; padding:80px 5% 100px; align-items:flex-start; }
.kf-contact-wrap{ max-width:1100px; margin:0 auto; width:100%; }
.kf-contact-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:start; }
.kf-contact-card{
  background:#fff; border-radius:22px; padding:32px; border:1px solid rgba(11,94,101,.08); box-shadow:0 12px 30px rgba(11,94,101,.06);
}
.kf-contact-info-list{ display:flex; flex-direction:column; gap:16px; margin-bottom:24px; }
.kf-contact-info-item{ display:flex; align-items:flex-start; gap:14px; }
.kf-contact-info-item i{
  width:42px; height:42px; border-radius:12px; background:rgba(11,94,101,.08); color:var(--primary);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px;
}
.kf-contact-info-item b{ display:block; font-size:13.5px; color:var(--text-dark); font-weight:800; margin-bottom:2px; }
.kf-contact-info-item span, .kf-contact-info-item a{ font-size:13px; color:var(--text-muted); font-weight:600; text-decoration:none; }
.kf-contact-social{ display:flex; gap:8px; flex-wrap:wrap; }
.kf-contact-social a{
  width:38px; height:38px; border-radius:50%; background:rgba(11,94,101,.08); color:var(--primary);
  display:flex; align-items:center; justify-content:center; text-decoration:none; transition:.25s;
}
.kf-contact-social a:hover{ background:var(--primary); color:#fff; }
@media (max-width:900px){ .kf-contact-grid{ grid-template-columns:1fr; } }

.kf-donate-section{ background:#f4f8f7; padding:80px 5% 100px; align-items:flex-start; }
.kf-donate-wrap{ max-width:1100px; margin:0 auto; width:100%; }
.kf-donate-platforms{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:44px; }
.kf-donate-platform-card{
  flex:1; min-width:240px; background:linear-gradient(135deg,var(--primary),var(--primary-light)); color:#fff;
  border-radius:22px; padding:28px; display:flex; flex-direction:column; gap:12px; text-decoration:none;
  box-shadow:0 14px 30px rgba(11,94,101,.18); transition:transform .25s ease;
}
.kf-donate-platform-card:hover{ transform:translateY(-6px); }
.kf-donate-platform-card i{ font-size:22px; color:var(--secondary-light); }
.kf-donate-platform-card b{ font-size:16px; font-weight:900; }
.kf-donate-platform-card span{ font-size:12.5px; opacity:.9; font-weight:600; }
.kf-donate-direct-card{ background:linear-gradient(135deg,var(--secondary,#d4af37),#b8892a); }
.kf-donate-direct-card i,
.kf-donate-direct-card .kf-icon{ color:#fff; }

.kf-bank-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:24px; }
.kf-bank-card{
  background:#fff; border-radius:22px; overflow:hidden; border:1px solid rgba(11,94,101,.08);
  box-shadow:0 12px 30px rgba(11,94,101,.08); transition:transform .3s ease, box-shadow .3s ease;
}
.kf-bank-card:hover{ transform:translateY(-5px); box-shadow:0 20px 42px rgba(11,94,101,.14); }
.kf-bank-card-cert{
  position:relative; overflow:hidden; background:#eaf5f4;
  aspect-ratio:1000/707;
}
.kf-bank-card-cert img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.kf-bank-card:hover .kf-bank-card-cert img{ transform:scale(1.04); }
.kf-bank-card-body{ padding:22px 24px 24px; }
.kf-bank-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.kf-bank-card-head i{
  width:44px; height:44px; border-radius:12px; background:rgba(212,175,55,.14); color:var(--secondary);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.kf-bank-card-head b{ display:block; font-size:15px; font-weight:800; color:var(--text-dark); }
.kf-bank-card-head span{ font-size:11.5px; color:var(--text-muted); font-weight:700; }
.kf-bank-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; color:var(--text-muted); font-weight:700; margin-bottom:6px; }
.kf-bank-row b{ direction:ltr; font-family:'Cairo',sans-serif; color:var(--text-dark); font-size:12.5px; letter-spacing:.3px; }
.kf-bank-card-actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.kf-copy-iban, .kf-download-iban{
  display:flex; align-items:center; gap:6px; width:100%; justify-content:center;
  font-weight:800; font-size:12.5px; padding:11px; border-radius:10px; cursor:pointer; transition:.2s;
  text-decoration:none;
}
.kf-copy-iban{ background:#f4f8f7; border:1.5px solid rgba(11,94,101,.15); color:var(--primary); }
.kf-copy-iban:hover{ background:rgba(11,94,101,.08); }
.kf-copy-iban.copied{ background:var(--primary); border-color:var(--primary); color:#fff; }
.kf-download-iban{ background:linear-gradient(135deg,var(--secondary-light),var(--secondary)); border:1.5px solid transparent; color:var(--primary-dark); }
.kf-download-iban:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(212,175,55,.35); }
@media (max-width:420px){
  .kf-bank-card-actions{ grid-template-columns:1fr; }
}

@media (max-width:600px){
  .kf-auth-card{ padding:30px 22px; }
}

.kf-services-section{ background:#f4f8f7; padding:80px 5% 100px; align-items:flex-start; }
.kf-services-wrap{ max-width:1000px; margin:0 auto; width:100%; }
.kf-services-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; }
.kf-service-card{
  background:#fff; border-radius:22px; padding:32px 26px; text-align:center; text-decoration:none; color:inherit;
  border:1px solid rgba(11,94,101,.08); box-shadow:0 10px 26px rgba(11,94,101,.06); transition:transform .25s ease, box-shadow .25s ease;
  display:block;
}
.kf-service-card:hover{ transform:translateY(-6px); box-shadow:0 18px 36px rgba(11,94,101,.12); }
.kf-service-card i{
  width:64px; height:64px; border-radius:18px; margin:0 auto 18px; font-size:26px; color:#fff;
  background:linear-gradient(135deg,var(--primary-light),var(--primary)); display:flex; align-items:center; justify-content:center;
}
.kf-service-card h3{ font-size:17px; font-weight:800; color:var(--text-dark); margin:0 0 8px; }
.kf-service-card p{ font-size:13px; color:var(--text-muted); font-weight:600; line-height:1.7; margin:0; }

.kf-service-form-card{ max-width:560px; margin:0 auto; }
