/* =============================================
   ZG-MENU — Menu custom ZeGreen (desktop + mobile)
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Inter:wght@400;500;600&display=swap');

/* CACHE l'ancien megamenu COMPLÈTEMENT */
body .ets_mm_megamenu,
body .ets_mm_megamenu_content,
body .ets_mm_megamenu_content_content,
body .ybc-menu-toggle,
body .ybc-menu-vertical-button{display:none !important}
body .elementor-29170102 .elementor-element.elementor-element-e2ac27c,
body .elementor-29170102 .elementor-element.elementor-element-e2ac27c .elementor-widget-shortcode,
body .elementor-29170102 .elementor-element.elementor-element-e2ac27c .elementor-widget-container{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  min-height:0 !important;
  padding:0 !important;
}

/* === DESKTOP MENU === */
.zg-menu{
  --zgm-green:#18A957;
  --zgm-green-d:#0e7837;
  --zgm-green-l:#e8f7ef;
  --zgm-bg:#0f1d2c;
  --zgm-bg-dark:#0a1420;
  --zgm-200:#e5e7eb;
  --zgm-100:#f3f4f6;
  --zgm-50:#f9fafb;
  --zgm-text:rgba(255,255,255,.78);
  background:var(--zgm-bg);
  font-family:'Outfit','Manrope',sans-serif;
  border-top:1px solid rgba(255,255,255,.06);
  position:relative;
  z-index:50;
}
.zg-menu-inner{
  max-width:1300px;
  margin:0 auto;
  padding:0 16px;
}
.zg-menu-list{
  list-style:none;
  padding:0;margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  flex-wrap:wrap;
}
.zg-menu-item{position:relative}
.zg-menu-link{
  display:flex;align-items:center;gap:6px;
  padding:14px 22px;
  color:var(--zgm-text);
  font-size:13.5px;
  font-weight:500;
  text-decoration:none;
  text-transform:none;
  letter-spacing:0;
  transition:color .2s;
  position:relative;
}
.zg-menu-link:hover,.zg-menu-item.active > .zg-menu-link{color:#fff}
.zg-menu-link::after{
  content:'';
  position:absolute;
  bottom:0;left:22px;right:22px;
  height:2px;
  background:var(--zgm-green);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s;
}
.zg-menu-link:hover::after,.zg-menu-item.active > .zg-menu-link::after{transform:scaleX(1)}
.zg-menu-arr{
  display:inline-block;
  font-size:9px;
  opacity:.6;
  transition:transform .25s;
}
.zg-menu-item:hover .zg-menu-arr{transform:rotate(180deg);opacity:1}

/* Desktop dropdown */
.zg-submenu{
  position:absolute;
  top:100%;left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:240px;
  background:#fff;
  border:1px solid var(--zgm-100);
  border-radius:0 0 14px 14px;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  padding:8px;
  list-style:none;margin:0;
  opacity:0;visibility:hidden;
  transition:opacity .2s,transform .2s,visibility .2s;
  z-index:100;
}
.zg-menu-item:hover > .zg-submenu{
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.zg-submenu li{list-style:none}
.zg-submenu a{
  display:block;
  padding:9px 14px;
  font-family:'Inter',sans-serif;
  font-size:13.5px;
  font-weight:500;
  color:#374151;
  border-radius:6px;
  text-decoration:none;
  transition:background .15s,color .15s;
}
.zg-submenu a:hover{
  background:var(--zgm-green-l);
  color:var(--zgm-green-d);
}

/* Submenu sections (groupé) — 4 colonnes pleine largeur */
.zg-submenu.zg-submenu-grid{
  min-width:880px;
  width:max-content;
  max-width:1200px;
  display:grid;
  grid-template-columns:repeat(4,minmax(190px,1fr));
  gap:0 12px;
  padding:20px 24px;
}
.zg-submenu-section{
  display:flex;
  flex-direction:column;
}
.zg-submenu-section a{
  font-size:13px;
  padding:7px 12px;
}
.zg-submenu-title{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:11.5px;
  color:#0f1d2c;
  text-transform:uppercase;
  letter-spacing:.07em;
  padding:8px 14px 4px;
  border-bottom:1.5px solid var(--zgm-green);
  display:inline-block;
  margin-bottom:6px;
  width:auto;
}
.zg-submenu-section{display:flex;flex-direction:column}

/* === HAMBURGER MOBILE === */
.zg-burger{
  display:none;
  background:var(--zgm-bg);
  color:#fff;
  border:none;
  padding:14px 18px;
  width:100%;
  font-family:'Outfit',sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
  align-items:center;
  gap:10px;
  text-align:left;
}
.zg-burger:hover{background:var(--zgm-bg-dark)}
.zg-burger-icon{
  display:inline-flex;
  flex-direction:column;
  gap:3px;
}
.zg-burger-icon span{
  width:18px;height:2px;background:#fff;border-radius:2px;
  transition:all .25s;
}
.zg-burger.is-open .zg-burger-icon span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.zg-burger.is-open .zg-burger-icon span:nth-child(2){opacity:0}
.zg-burger.is-open .zg-burger-icon span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

/* === MOBILE === */
@media (max-width:991px){
  .zg-menu{padding:0;border:none}
  .zg-menu-inner{padding:0}
  .zg-burger{display:flex}
  .zg-menu-list{
    display:none;
    flex-direction:column;
    background:#fff;
    gap:0;
  }
  .zg-menu-list.is-open{display:flex}
  .zg-menu-item{width:100%;border-bottom:1px solid var(--zgm-100)}
  .zg-menu-link{
    padding:15px 20px;
    color:#0f1d2c;
    font-weight:600;
    font-size:14px;
    width:100%;
    justify-content:space-between;
  }
  .zg-menu-link:hover{color:var(--zgm-green-d)}
  .zg-menu-link::after{display:none}
  .zg-menu-arr{
    font-size:18px;
    width:20px;height:20px;
    display:inline-flex;align-items:center;justify-content:center;
    color:#6b7280;
    transition:transform .25s;
  }
  .zg-menu-item.is-open .zg-menu-arr{transform:rotate(180deg);color:var(--zgm-green)}
  .zg-menu-item.is-open > .zg-menu-link{
    background:var(--zgm-green-l);
    color:var(--zgm-green-d);
  }
  /* Submenu mobile : ACCORDÉON inline pleine largeur */
  .zg-submenu,
  .zg-submenu.zg-submenu-grid{
    position:static !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:none !important;
    border:none !important;
    border-radius:0 !important;
    background:var(--zgm-50) !important;
    display:none !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:6px 0 10px !important;
    margin:0 !important;
    max-height:60vh;
    overflow-y:auto;
  }
  .zg-menu-item.is-open > .zg-submenu,
  .zg-menu-item.is-open > .zg-submenu.zg-submenu-grid{
    display:block !important;
  }
  .zg-submenu-section{
    display:block !important;
    width:100% !important;
    margin-bottom:8px;
  }
  .zg-submenu a{
    padding:11px 32px;
    font-size:13px;
    border-radius:0;
    border-bottom:1px solid var(--zgm-100);
  }
  .zg-submenu-title{
    padding:10px 20px 4px !important;
    margin:0 !important;
    border-bottom:none !important;
    background:transparent !important;
    font-size:11px !important;
  }
}
