/* ============================================================
   FUTURLOG, Navigation & Mega-menu (light)
   ============================================================ */

.site-nav {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  height: var(--nav-h);
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(18px) saturate(1.6);
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  border-bottom: 1px solid var(--border);
  transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.site-nav.scrolled { background: rgba(255,255,255,.96); box-shadow: 0 4px 24px rgba(15,23,41,.06); }

.nav-inner { display:flex; align-items:center; gap:34px; height:100%; }
.nav-logo { flex-shrink:0; }
.nav-logo img { display:block; }

.nav-menu { display:flex; align-items:center; gap:2px; flex:1; }
.nav-link {
  display:flex; align-items:center; gap:5px;
  padding:8px 14px; border-radius:9px;
  font-size:.91rem; font-weight:600; color:var(--ink-soft);
  transition:color .15s ease, background .15s ease; white-space:nowrap;
}
.nav-link:hover, .nav-item.active .nav-link { color:var(--ink); background:rgba(45,118,248,.07); }
.nav-toggle svg { transition:transform .2s ease; }
.nav-item.active .nav-toggle svg { transform:rotate(180deg); }

.nav-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }

.nav-burger { display:none; flex-direction:column; gap:5px; width:38px; height:38px; justify-content:center; align-items:center; border-radius:9px; background:rgba(45,118,248,.08); }
.nav-burger span { display:block; width:20px; height:2px; background:var(--ink); border-radius:2px; transition:.2s; }
.nav-burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2){ opacity:0; }
.nav-burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ── Mega panel ── */
.mega-panel {
  position:absolute; top:calc(var(--nav-h) + 8px); left:0; right:0;
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
  margin:0 28px; box-shadow:var(--shadow-lg);
  opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
.mega-panel.open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.mega-inner { display:grid; padding:10px; }
.mega-inner.cols-2 { grid-template-columns:1fr 1fr; }
.mega-inner.cols-1 { grid-template-columns:1fr; max-width:none; }

.mega-col { padding:24px; }
.mega-col:not(:last-child) { border-right:1px solid var(--border); }
.mega-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:14px; }

/* ── Mega-link : icône SVG épurée + révélation dégradé premium au survol ── */
.mega-link { position:relative; isolation:isolate; display:flex; align-items:flex-start; gap:13px; padding:11px 12px; border-radius:12px; transition:box-shadow .3s ease; overflow:hidden; }
.mega-link::before {            /* halo lumineux qui suit le curseur (hook [data-spotlight]) */
  content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none;
  background:
    radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(45,118,248,.16), rgba(164,85,252,.07) 42%, transparent 72%),
    linear-gradient(rgba(45,118,248,.035), rgba(45,118,248,.035));
  opacity:0; transition:opacity .3s ease;
}
.mega-link:hover::before { opacity:1; }
.mega-link:hover { box-shadow:inset 0 0 0 1px rgba(45,118,248,.10); }

.mega-link-icon {
  width:40px; height:40px; border-radius:11px; flex-shrink:0; position:relative;
  display:flex; align-items:center; justify-content:center;
  background:none !important;            /* icône nue par défaut */
  transition:transform .4s cubic-bezier(.34,1.56,.64,1);
}
.mega-link-icon::before {                 /* boîte dégradée qui éclot au survol */
  content:''; position:absolute; inset:0; border-radius:inherit;
  background:var(--grad-brand); box-shadow:0 8px 18px rgba(45,118,248,.30);
  opacity:0; transform:scale(.45);
  transition:opacity .3s ease, transform .45s cubic-bezier(.34,1.56,.64,1);
}
.mega-link-icon svg { width:22px; height:22px; position:relative; z-index:1; display:block;
  transition:color .25s ease, transform .45s cubic-bezier(.34,1.56,.64,1); }
.mega-link:hover .mega-link-icon { transform:translateY(-3px); }
.mega-link:hover .mega-link-icon::before { opacity:1; transform:scale(1); }
.mega-link:hover .mega-link-icon svg { color:#fff; transform:scale(1.14); }

.mega-link strong { display:block; font-size:.91rem; color:var(--ink); margin-bottom:2px; transition:color .2s ease; }
.mega-link:hover strong { color:var(--blue); }
.mega-link span span { display:block; font-size:.78rem; color:var(--ink-mute); line-height:1.45; }

@media (prefers-reduced-motion:reduce){
  .mega-link, .mega-link::before, .mega-link-icon, .mega-link-icon::before, .mega-link-icon svg { transition:none; }
  .mega-link:hover, .mega-link:hover .mega-link-icon, .mega-link:hover .mega-link-icon svg { transform:none; }
}

.mega-promo { margin-top:8px; padding:18px; border-radius:13px; background:var(--bg-tint); border:1px solid var(--border); }
.mega-promo strong { display:block; font-family:'Chakra Petch',sans-serif; font-size:.9rem; color:var(--ink); margin-bottom:6px; }
.mega-promo span { font-size:.78rem; color:var(--ink-soft); line-height:1.5; }

/* simple link list (Secteurs / Ressources) */
.mega-list { display:flex; flex-direction:column; gap:2px; }
.mega-list a { padding:10px 12px; border-radius:9px; font-size:.9rem; font-weight:500; color:var(--ink-soft); transition:.15s; }
.mega-list a:hover { background:var(--bg-soft); color:var(--ink); }

@media (max-width:1000px){
  .nav-menu { display:none; position:absolute; top:var(--nav-h); left:0; right:0; flex-direction:column; align-items:stretch;
    background:#fff; border-top:1px solid var(--border); padding:16px; gap:4px; max-height:calc(100vh - var(--nav-h)); overflow-y:auto; }
  .nav-menu.open { display:flex; }
  .nav-actions .btn-ghost { display:none; }
  .nav-burger { display:flex; }
  .mega-panel { position:static; opacity:1; visibility:hidden; height:0; overflow:hidden; transform:none; border:none; margin:0; box-shadow:none; transition:height .25s ease, visibility .25s; }
  .mega-panel.open { visibility:visible; height:auto; }
  .mega-inner { grid-template-columns:1fr !important; }
  .mega-col:not(:last-child){ border-right:none; border-bottom:1px solid var(--border); }
}
