/**
 * Navigation - Contre la traite
 * Drupal 11 - Migration des styles de navigation
 */

/* Menu burger (masqué par défaut) */
.menu-burger {
  display: none;
  cursor: pointer;
  background-color: var(--color-dark-red);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

.menu-burger .btn-burger {
  position: relative;
  margin: var(--spacing-sm);
  width: 50px;
  height: 40px;
  background-color: var(--color-red);
}

.menu-burger .btn-burger .bar,
.menu-burger .btn-burger .bar::before,
.menu-burger .btn-burger .bar::after {
  position: absolute;
  top: 18px;
  left: var(--spacing-xs);
  width: 40px;
  height: 3px;
  background-color: var(--color-white);
}

.menu-burger .btn-burger .bar::before {
  content: '';
  display: block;
  top: -10px;
  left: 0;
}

.menu-burger .btn-burger .bar::after {
  content: '';
  display: block;
  top: 10px;
  left: 0;
}

/* Navigation dans la sidebar */
.sidebar .navigation {
  padding-top: var(--spacing-sm);
  padding-right: var(--spacing-sm);
}

.sidebar .navigation ul.menu {
  margin-left: 0;
}

/* Menu principal */
.sidebar .menu {
  padding-left: var(--sidebar-padding-left);
  margin-top: 0;
  margin-bottom: 12px;
}

.sidebar .menu a {
  background-color: var(--color-black);
  color: var(--color-white);
  padding: 2px var(--spacing-xs);
  line-height: 22px;
  text-decoration: none;
}

.sidebar .menu .menu-item {
  margin-bottom: 4px;
  font-size: 13px;
  text-transform: uppercase;
}

.sidebar .menu .menu-item .menu-item a {
  background-color: transparent;
  color: var(--color-white);
  font-size: 0.9em;
}

/* Sous-menu niveau 2 */
.sidebar .menu .menu {
  padding-left: 0;
  margin-bottom: var(--spacing-sm);
  text-transform: normal;
  display: none; /* Masqué par défaut */
}

.sidebar .menu .menu .menu-item {
  border-bottom: 1px solid var(--color-darker-red);
  margin-bottom: 0;
  padding-top: 0;
}

.sidebar .menu .menu a {
  display: block;
}

/* Affichage des sous-menus pour les éléments avec active-trail (desktop seulement) */
@media (min-width: 1025px) {
  .sidebar .menu-item--active-trail > .menu {
    display: block !important;
  }
}

/* Sous-menu niveau 3 */
.sidebar .menu .menu .menu {
  margin-bottom: 0;
}

.sidebar .menu .menu .menu .menu-item {
  padding-left: var(--spacing-sm);
  border-bottom: 1px solid #a4101c;
}

.sidebar .menu .menu .menu .menu-item a {
  text-transform: none;
  background-color: transparent;
}

.sidebar .menu .menu .menu .menu-item a.is-active,
.sidebar .menu .menu .menu .menu-item a:hover {
  color: var(--color-black);
}

/* États actifs et hover */
.sidebar ul.menu a.is-active,
.sidebar ul.menu a:hover,
.sidebar ul.menu .menu a.is-active,
.sidebar ul.menu .menu a:hover,
.sidebar ul.menu .menu .menu-item--active-trail.menu-item--expanded > a {
  background-color: var(--color-dark-red);
  color: var(--color-white);
}

/* Menu items expandables */
.menu-item--expanded,
.menu-item--collapsed {
  list-style: none;
  list-style-image: none;
}

.sidebar .menu-item--expanded {
  position: relative;
}

.sidebar .menu-item--expanded a {
  position: relative;
}

.sidebar .menu-item--expanded .btn-dropdown {
  cursor: pointer;
  font-size: 16px;
  color: var(--color-white);
  background-image: url('../../images/dropdown.png');
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
  width: 16px;
  height: 20px;
  line-height: 16px;
  right: -20px;
  top: 0;
  margin-left: var(--spacing-sm);
  display: none; /* Masqué par défaut (desktop) */
  position: absolute;
}

/* Sous-menus masqués par défaut */
.sidebar .menu-item--expanded .menu,
.sidebar .menu-item--expanded .sub-menu {
  display: none;
}

/* Affichage des sous-menus pour les éléments actifs (desktop seulement) */
@media (min-width: 1025px) {
  .sidebar .menu-item--expanded.menu-item--active-trail > .menu,
  .sidebar .menu-item--expanded.menu-item--active-trail > .sub-menu {
    display: block;
  }
}

/* Sous-menu en minuscules */
.sidebar .menu .child-lowercase .menu-item {
  text-transform: none;
}

/* Menus actifs (mobile) - spécificité renforcée */
.sidebar #block-contrelatraite-main-menu.active,
.sidebar #block-navigationsecondairesidebar.active,
.sidebar .region-navigation .block.active {
  display: block !important;
}

/* Moteur de recherche */
.sidebar .search-block-form {
  margin-left: var(--sidebar-padding-left);
}

.sidebar .form-submit {
  color: var(--color-white);
  background: var(--color-black);
  border: 0;
  font-size: var(--font-size-small);
  height: 25px;
  display: inline-block;
}

/* Media queries pour le responsive */
@media (max-width: 1024px) {
  .menu-burger,
  #menuBurger {
    display: block !important;
    z-index: 1000;
  }
  
  /* Forcer la fermeture des menus en mobile */
  .sidebar #block-contrelatraite-main-menu,
  .sidebar #block-contrelatraited11-main-menu,
  .sidebar #block-navigationsecondairesidebar,
  .sidebar .region-navigation .block {
    display: none;
  }
  
  .sidebar .menu-item--expanded .btn-dropdown {
    display: inline-block;
  }
}