/* ── MEGA-MENU ISOLATION-GUIDE v1 — desktop + mobile slide ── */

/* === DESKTOP === */
.nav{position:sticky;top:0;z-index:500;background:var(--slate,#0f2744);height:68px;overflow:visible}
.nav.scrolled{box-shadow:0 2px 8px rgba(0,0,0,.15),0 8px 32px rgba(0,0,0,.1)}
.nav__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.5rem;padding:0 1.5rem;height:68px}
.nav__logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}
.nav__logo-mark{width:28px;height:28px;border-radius:6px;background:#1a7a4c;color:white;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700}
.nav__logo span{font-weight:700;color:white;font-size:.95rem}
.nav__links{display:flex;align-items:center;gap:.15rem;margin-left:auto}
.nav__item{position:relative}
.nav__item-btn{display:flex;align-items:center;gap:.3rem;padding:.4rem .65rem;border-radius:7px;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.8);background:none;border:none;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.nav__item-btn:hover,.nav__item-btn.open{color:white;background:rgba(255,255,255,.12)}
.nav__item-btn svg{transition:transform .2s;opacity:.6}
.nav__item-btn.open svg{transform:rotate(180deg)}
.nav__item-link{display:block;padding:.4rem .65rem;border-radius:7px;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.8);text-decoration:none;transition:all .15s;white-space:nowrap}
.nav__item-link:hover{color:white;background:rgba(255,255,255,.12)}
.mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);background:white;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.14);padding:.875rem;min-width:300px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:600}
.mega.open{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.mega__title{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;padding:.1rem .5rem .5rem;border-bottom:1px solid #f3f4f6;margin-bottom:.35rem}
.mega__item{display:block;padding:.6rem .55rem;border-radius:8px;text-decoration:none;transition:background .12s}
.mega__item:hover{background:#f0fdf4}
.mega__item-name{display:block;font-size:.84rem;font-weight:700;color:#0f2744;line-height:1.3;margin-bottom:.3rem}
.mega__item-desc{display:block;font-size:.71rem;color:#9ca3af;line-height:1.35}
.mega--regions{left:auto;right:0;transform:translateY(-4px);min-width:440px}
.mega--regions.open{transform:translateY(0)}
.mega--regions .regions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.15rem}
.nav__cta{display:inline-flex!important;align-items:center;gap:.4rem;padding:.45rem 1rem;background:#1a7a4c;color:white!important;border-radius:100px;font-weight:600;font-size:.82rem;text-decoration:none;white-space:nowrap;transition:all .15s;margin-left:.25rem}
.nav__cta:hover{background:#15643e}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem;margin-left:.5rem}
.nav__burger span{display:block;width:22px;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:all .25s}
.nav__burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav__burger.open span:nth-child(2){opacity:0}
.nav__burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* === OVERLAY === */
#navOverlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:550;cursor:pointer}
#navOverlay.open{display:block}

/* === MOBILE : panneau slide depuis la droite === */
@media(max-width:900px){
  .nav__burger{display:flex!important}
  .nav__links{
    display:flex!important;flex-direction:column;align-items:stretch;
    position:fixed;top:0;right:0;bottom:0;
    width:min(320px,85vw);background:#0f2744;
    padding:3.5rem 1rem 2rem;overflow-y:auto;gap:.2rem;
    transform:translateX(100%);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
    z-index:600;box-shadow:-8px 0 32px rgba(0,0,0,.3);
    pointer-events:none;margin-left:0!important;
  }
  .nav__links.open{transform:translateX(0)!important;pointer-events:all}
  .nav__item-btn,.nav__item-link{color:rgba(255,255,255,.85)!important;width:100%;justify-content:space-between;padding:.8rem .75rem;font-size:.93rem;background:none;border:none;text-align:left}
  .nav__item-btn:hover,.nav__item-link:hover{background:rgba(255,255,255,.08)!important;color:white!important;border-radius:8px}
  .nav__item-btn svg{opacity:.5}
  .mega{position:static!important;transform:none!important;opacity:0;max-height:0;overflow:hidden;background:rgba(255,255,255,.06);border:none;border-radius:8px;padding:0;min-width:0;box-shadow:none;transition:max-height .28s ease,opacity .2s,padding .2s;margin:.1rem 0}
  .mega.open{opacity:1!important;max-height:800px!important;padding:.4rem .5rem .5rem!important;pointer-events:all!important}
  .mega__title{font-size:.6rem;color:rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.1);padding:.4rem .5rem .3rem;margin-bottom:.2rem}
  .mega__item{padding:.55rem .6rem;border-radius:6px}
  .mega__item:hover{background:rgba(255,255,255,.08)}
  .mega__item-name{color:white;font-size:.84rem}
  .mega__item-desc{color:rgba(255,255,255,.45);font-size:.71rem}
  .mega--regions{min-width:0;left:auto;right:auto}
  .mega--regions .regions-grid{grid-template-columns:1fr 1fr}
  .nav__cta{margin:1rem 0 0!important;justify-content:center;padding:.875rem!important;border-radius:10px!important}
}
@media(max-width:420px){.mega--regions .regions-grid{grid-template-columns:1fr}}
