/* Base reset for our custom menu */
#bootscore-navbar.menu-custom { position: relative; }
#bootscore-navbar.menu-custom li { list-style: none; }
#bootscore-navbar.menu-custom a { text-decoration: none; }

/* Submenu common: default visible; specific contexts control visibility */

/* Toggle button common */
#bootscore-navbar.menu-custom li.has-children { position: relative; }
#bootscore-navbar.menu-custom li.has-children .submenu-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem;
  border: 0; border-radius: .375rem;
  background: transparent; cursor: pointer; padding: 0;
  line-height: 1; color: inherit;
}
#bootscore-navbar.menu-custom li.has-children .submenu-toggle:hover { background: rgba(0,0,0,.05); }
#bootscore-navbar.menu-custom li.has-children .submenu-toggle .fa-chevron-down { transition: transform .2s ease; }
#bootscore-navbar.menu-custom li.has-children .submenu-toggle[aria-expanded="true"] .fa-chevron-down { transform: rotate(180deg); }
#bootscore-navbar.menu-custom .accordion-button.submenu-toggle:not(.collapsed) .fa-chevron-down { transform: rotate(180deg); }

#bootscore-navbar.menu-custom .sub-menu a.dropdown-item
   { padding: .45rem 1rem;}
/* Desktop dropdown (≥ xxl) — width-based only */
@media (min-width: 1400px) {
  #bootscore-navbar.menu-custom > li { position: relative; }
  #bootscore-navbar.menu-custom > li > .sub-menu {
    position: absolute; top: 100%; left: 0; min-width: 280px; z-index: 1050;
    display: none; margin: .25rem 0 0; padding: .5rem 0;
    background: var(--couleur-2); color:white; border: 1px solid rgba(0,0,0,.1); border-radius: .375rem;box-shadow: 0px 0px 5px #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,.12);
    transform-origin: top; transform: translateY(6px); opacity: 0; transition: transform .16s ease, opacity .16s ease;
  }
  #bootscore-navbar.menu-custom > li.open > .sub-menu { display: block !important; }
  #bootscore-navbar.menu-custom > li.open > .sub-menu { transform: translateY(0); opacity: 1; }

  /* Nested levels inside dropdown become accordion stacks */
  #bootscore-navbar.menu-custom > li > .sub-menu .accordion-header { display: flex; align-items: center; gap: .5rem; padding: .25rem .75rem; }
  #bootscore-navbar.menu-custom > li > .sub-menu .accordion-button.submenu-toggle { flex: 0 0 auto; width: 1.75rem; height: 1.75rem; padding: 0; justify-content: center; }
  #bootscore-navbar.menu-custom > li > .sub-menu .accordion-button.submenu-toggle::after { display: none; }
  #bootscore-navbar.menu-custom > li > .sub-menu .accordion-body { padding: .25rem .75rem .25rem 1rem; }
  #bootscore-navbar.menu-custom > li > .sub-menu > li > a { display: block; padding: .45rem 1rem; }
  #bootscore-navbar.menu-custom > li > .sub-menu > li > a:hover { background: rgba(0,0,0,.04); }

  /* Hide toggle only for top-level on desktop (we open on hover) */
  #bootscore-navbar.menu-custom > li.has-children > .submenu-toggle { display: none; }
}

/* Offcanvas stack with Bootstrap Accordion */
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom { width: 100%; }
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom .accordion-header a.nav-link { flex: 1 1 auto; }
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom .accordion-header { display: flex; align-items: center; gap: .5rem; }
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom .accordion-button.submenu-toggle { flex: 0 0 auto; width: 2rem; height: 2rem; padding: 0; justify-content: center; }
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom .accordion-button.submenu-toggle::after { display: none; }
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom .accordion-body { padding: .25rem 0 .25rem .75rem; }
/* Prevent flash but allow smooth opening: show content during 'collapsing' and 'show' */
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom .accordion-collapse > .sub-menu { display: block; }
#offcanvas-navbar.offcanvas.show #bootscore-navbar.menu-custom .accordion-collapse:not(.show):not(.collapsing) > .sub-menu { display: none; }
#offcanvas-navbar #bootscore-navbar.menu-custom .accordion-collapse:not(.show):not(.collapsing) > .sub-menu { display: none; }

/* Loader overlay during menu initialization to avoid CLS */
#offcanvas-navbar.menu-building .offcanvas-body { position: relative; }
#offcanvas-navbar .offcanvas-menu-loader {
  display: none;
  position: absolute; inset: 0;
  align-items: center; justify-content: center;
  background: var(--bs-offcanvas-bg);
  z-index: 1;
}
#offcanvas-navbar.menu-building .offcanvas-menu-loader { display: flex; }
#offcanvas-navbar.menu-building .offcanvas-body > *:not(.offcanvas-menu-loader) {
  visibility: hidden;
}
