/* ============================================================
   KNA AWESOME ENHANCEMENTS
   ============================================================ */

/* === SCROLL ANIMATIONS === */
.kna-reveal {
  opacity:0; transform:translateY(30px);
  transition:opacity .7s ease, transform .7s ease;
}
.kna-reveal.visible { opacity:1; transform:translateY(0); }
.kna-reveal-left { opacity:0; transform:translateX(-40px); transition:opacity .7s ease, transform .7s ease; }
.kna-reveal-left.visible { opacity:1; transform:translateX(0); }
.kna-reveal-right { opacity:0; transform:translateX(40px); transition:opacity .7s ease, transform .7s ease; }
.kna-reveal-right.visible { opacity:1; transform:translateX(0); }
.kna-reveal-delay-1 { transition-delay:.15s; }
.kna-reveal-delay-2 { transition-delay:.3s; }
.kna-reveal-delay-3 { transition-delay:.45s; }
.kna-reveal-delay-4 { transition-delay:.6s; }
.kna-reveal-delay-5 { transition-delay:.75s; }
.kna-reveal-delay-6 { transition-delay:.9s; }

/* === HERO ENHANCEMENTS === */
.kna-hero-npo-left { position:relative; }
.kna-hero-npo-left::before {
  content:'';
  position:absolute; top:-60px; right:-60px;
  width:280px; height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(79,191,112,.12) 0%, transparent 70%);
  pointer-events:none;
}
.kna-hero-npo-text h1 { animation:fadeInUp .8s ease both; }
.kna-hero-npo-line { animation:growLine .8s .3s ease both; }
.kna-hero-npo-text p { animation:fadeInUp .8s .4s ease both; }
.kna-hero-npo-text .kna-npo-btn { animation:fadeInUp .8s .6s ease both; }

@keyframes fadeInUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes growLine {
  from { width:0; opacity:0; }
  to   { width:42px; opacity:1; }
}

/* === HEADER ENHANCEMENTS === */
.kna-custom-header {
  transition:box-shadow .3s ease;
}
.kna-custom-header.scrolled {
  box-shadow:0 2px 20px rgba(0,0,0,.1) !important;
}
.kna-nav-menu li > a { position:relative; }
.kna-nav-menu li > a::after {
  content:''; position:absolute; bottom:0; left:13px; right:13px;
  height:2px; background:var(--kna-green);
  transform:scaleX(0); transition:transform .25s ease;
}
.kna-nav-menu li:hover > a::after,
.kna-nav-menu .current-menu-item > a::after { transform:scaleX(1); }
.kna-nav-menu .kna-donate-menu-item > a::after { display:none; }

/* === SERVICE CARDS ENHANCED === */
.kna-service {
  position:relative; overflow:hidden;
}
.kna-service::before {
  content:''; position:absolute;
  top:0; left:-100%; width:100%; height:3px;
  background:var(--kna-green);
  transition:left .3s ease;
}
.kna-service:hover::before { left:0; }
.kna-service h4 { transition:color .3s; }
.kna-service:hover h4 { color:var(--kna-green); }

/* === PROJECT CARDS === */
.kna-card { position:relative; overflow:hidden; }
.kna-card::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(79,191,112,.08) 0%, transparent 40%);
  opacity:0; transition:opacity .3s;
  pointer-events:none;
}
.kna-card:hover::after { opacity:1; }
.kna-card .kna-card-thumb { overflow:hidden; }
.kna-card .kna-card-thumb > *:not(.kna-badge) {
  transition:transform .4s ease;
}
.kna-card:hover .kna-card-thumb > *:not(.kna-badge) {
  transform:scale(1.05);
}

/* === ANIMATED PROGRESS BARS === */
.kna-pfill {
  width:0 !important;
  transition:width 1.4s cubic-bezier(.4,0,.2,1);
}
.kna-pfill.animated { width:var(--target-width) !important; }

/* === STATS SECTION === */
.kna-stat-num { transition:color .3s; }
.kna-stats-bar:hover .kna-stat-num { color:rgba(255,255,255,.9); }

/* === BUTTONS === */
.kna-npo-btn {
  position:relative; overflow:hidden;
}
.kna-npo-btn::before {
  content:''; position:absolute;
  top:0; left:-100%; width:100%; height:100%;
  background:rgba(255,255,255,.15);
  transition:left .3s ease;
}
.kna-npo-btn:hover::before { left:100%; }
.kna-npo-btn { box-shadow:0 4px 14px rgba(79,191,112,.35); }
.kna-npo-btn:hover { box-shadow:0 6px 20px rgba(79,191,112,.5); transform:translateY(-1px); }

/* === SECTION DIVIDERS === */
.kna-section-wave {
  display:block; overflow:hidden; line-height:0;
}
.kna-section-wave svg { display:block; }

/* === PRESIDENT / TESTIMONIAL ENHANCED === */
.kna-president-section {
  position:relative; overflow:hidden;
}
.kna-president-section::before {
  content:'\201C';
  position:absolute; top:-40px; left:50%;
  transform:translateX(-50%);
  font-size:20rem; color:rgba(255,255,255,.04);
  font-family:Georgia,serif; line-height:1;
  pointer-events:none; user-select:none;
}

/* === ABOUT SECTION === */
.kna-about-img {
  transition:transform .4s ease;
}
.kna-about-img:hover { transform:scale(1.02); }

/* === INNER PAGE HERO ENHANCED === */
.kna-inner-hero {
  position:relative; overflow:hidden;
}
.kna-inner-hero::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}

/* === FOOTER AWESOME === */
.kna-footer {
  background:#1a1a1a;
  color:rgba(255,255,255,.7);
  font-family:'Open Sans',sans-serif;
}
.kna-footer-top { padding:70px 0 50px; }
.kna-footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:3rem;
}
.kna-footer h5 {
  font-family:'Josefin Sans',sans-serif;
  font-weight:700; font-size:.82rem;
  text-transform:uppercase; letter-spacing:1.5px;
  color:#fff; margin-bottom:1.5rem;
  padding-bottom:.75rem;
  border-bottom:2px solid var(--kna-green);
  display:inline-block;
}
.kna-footer p { font-size:.85rem; line-height:1.75; margin-bottom:.75rem; }
.kna-footer ul { list-style:none; padding:0; margin:0; }
.kna-footer ul li { margin-bottom:.6rem; }
.kna-footer ul li a {
  font-size:.85rem; color:rgba(255,255,255,.65);
  transition:all .2s; display:flex; align-items:center; gap:.5rem;
}
.kna-footer ul li a::before { content:'›'; color:var(--kna-green); font-weight:700; }
.kna-footer ul li a:hover { color:#fff; padding-left:4px; }
.kna-footer-brand { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:1.3rem; color:#fff; text-transform:uppercase; letter-spacing:1px; margin-bottom:.75rem; display:block; }
.kna-footer-social {
  display:flex; gap:.6rem; margin-top:1.2rem;
}
.kna-footer-social a {
  width:36px; height:36px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.7); font-size:.85rem;
  transition:all .3s;
}
.kna-footer-social a:hover { background:var(--kna-green); color:#fff; transform:translateY(-2px); }
.kna-footer-contact-item {
  display:flex; align-items:flex-start; gap:.75rem;
  margin-bottom:.75rem; font-size:.85rem;
}
.kna-footer-contact-item span:first-child { color:var(--kna-green); font-size:1rem; flex-shrink:0; margin-top:1px; }
.kna-footer-bottom {
  border-top:1px solid rgba(255,255,255,.08);
  padding:1.5rem 0; text-align:center;
  font-size:.8rem; color:rgba(255,255,255,.4);
}
.kna-footer-bottom a { color:rgba(255,255,255,.5); }
.kna-footer-bottom a:hover { color:var(--kna-green); }

@media(max-width:960px){
  .kna-footer-grid { grid-template-columns:repeat(2,1fr); gap:2rem; }
}
@media(max-width:600px){
  .kna-footer-grid { grid-template-columns:1fr; }
}

/* === PULSE DOT for "En cours" === */
@keyframes pulse {
  0%,100% { transform:scale(1); opacity:1; }
  50% { transform:scale(1.4); opacity:.7; }
}
.kna-pulse-dot {
  display:inline-block; width:8px; height:8px;
  border-radius:50%; background:var(--kna-green);
  animation:pulse 1.5s ease-in-out infinite;
  margin-right:4px; vertical-align:middle;
}

/* === FLOATING SHAPES (décoration) === */
.kna-shape {
  position:absolute; border-radius:50%;
  opacity:.06; pointer-events:none;
}

/* === SMOOTH SCROLLING ON ALL LINKS === */
html { scroll-padding-top:80px; }

/* === BETTER MOBILE NAV === */
@media(max-width:960px){
  .kna-nav-menu li a::after { display:none; }
}
