/* AGENOR – Fix pack (menu + responsive). */
/* Goals:
   - Normalize typography and spacing in the top menu
   - Repair malformed menu DOM effects via CSS resilience
   - Provide a reliable mobile menu experience without breaking existing builder CSS
*/

:root{
  --agenor-red:#E30613;
}

/* Ensure consistent menu typography */
#menu-block,
#menu-block *{
  box-sizing:border-box;
}

#menu-block .menu-item,
#menu-block .menu-item-text{
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--agenor-red);
  text-decoration:none;
  white-space: nowrap;
}

/* Desktop layout */
#menu-block nav ul.level-1{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap: 24px;
  list-style:none;
  margin:0;
  padding: 14px 40px;
}

#menu-block nav ul.level-1 > li{
  position:relative;
  margin:0;
  padding:0;
}

#menu-block nav ul.level-1 > li > a.menu-item{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 8px 0;
}

#menu-block nav ul.level-2{
  display:none;
  position:absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  background: #fff;
  list-style:none;
  margin: 8px 0 0 0;
  padding: 10px 0;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  z-index: 9999;
}

#menu-block nav ul.level-2 li a.menu-item{
  display:block;
  padding: 10px 16px;
  white-space: normal;
}

#menu-block nav ul.level-2 li a.menu-item:hover{
  background: rgba(227,6,19,.06);
}

/* Hover submenu on desktop */
@media (min-width: 769px){
  /* Desktop dropdown: force a single, compact submenu (override any builder mega-menu styling) */
  #menu-block nav ul.level-2{
    display:none;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:auto !important;
    width:max-content !important;
    max-width: 320px !important;
    padding: 8px 0 !important;
    margin: 8px 0 0 0 !important;
    background:#fff !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,.12) !important;
  }

  /* Prevent extra pseudo-elements/containers from looking like a second menu */
  #menu-block li.wnd-with-submenu::before,
  #menu-block li.wnd-with-submenu::after{
    content: none !important;
  }

  #menu-block li.wnd-with-submenu:hover > ul.level-2{ display:block !important; }
  #menu-block .menu-close{ display:none; }
}


/* Mobile menu toggle (works even if the builder JS fails) */
#menu-mobile a#menu-submit{
  cursor:pointer;
}

@media (max-width: 768px){
  /* Prevent horizontal scrolling from fixed paddings */
  html, body{ overflow-x:hidden; }

  /* Make menu slider a full-screen overlay when opened */
  #menu-slider{
    position:fixed;
    inset:0;
    background:#fff;
    z-index: 100000;
    overflow:auto;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition: opacity .18s ease;
  }
  body.agenor-menu-open #menu-slider{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
  }

  /* Hard-reset any builder off-canvas transforms that could hide the menu */
  body.agenor-menu-open #menu-block,
  body.agenor-menu-open #menu-block nav,
  body.agenor-menu-open #menu-block nav#menu{
    display:block !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    max-height:none !important;
  }

  /* Close button */
  #menu-block .menu-close{
    display:block;
    position:sticky;
    top: 0;
    margin-left:auto;
    width: 44px;
    height: 44px;
    background: transparent;
  }

  /* Column layout for items */
  #menu-block nav ul.level-1{
    flex-direction:column;
    align-items:flex-start;
    gap: 10px;
    padding: 20px;
  }

  #menu-block nav ul.level-1 > li,
  #menu-block nav ul.level-1 > li > a{
    width:100%;
  }

  #menu-block nav ul.level-1 > li > a.menu-item{
    padding: 12px 6px;
    border-bottom: 1px solid rgba(0,0,0,.06);
  }

  /* Mobile submenu: toggled via class on <li> */
  #menu-block nav ul.level-2{
    position:static;
    min-width: unset;
    margin: 0;
    padding: 0 0 6px 0;
    box-shadow: none;
    border-radius: 0;
    display:none;
  }
  #menu-block li.agenor-submenu-open > ul.level-2{ display:block; }
  #menu-block nav ul.level-2 li a.menu-item{
    padding: 10px 14px;
    border-bottom: 1px solid rgba(0,0,0,.04);
  }

  /* Make long labels wrap nicely */
  #menu-block .menu-item-text{
    white-space: normal;
  }
}
