/* =========================================================
   APRS — HEADER GLOBAL
   Structure :
   - #navbar-top  : menu user + (éventuel) search
   - #navbar-main : logo + navigation principale
   ========================================================= */

/* Reset léger pour garder le contrôle */
#navbar-top,
#navbar-main {
  border: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

/* Container commun (quand présent) */
#navbar-top .container,
#navbar-main .container {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

/* ---------------------------------
   NAVBAR TOP : bandeau utilisateur
   --------------------------------- */

#navbar-top {
  background-color: var(--col-primary, #00151D);
  color: #ffffff;
  font-size: 0.875rem;
}

/* Région secondaire = ligne flex alignée à droite */
#navbar-top .region-secondary-menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.25rem;
  padding-block: 0.35rem;
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
}

/* Menu compte utilisateur */
#navbar-top .menu--account .nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
}

#navbar-top .menu--account .nav-item {
  list-style: none;
}

#navbar-top .menu--account .nav-link {
  color: #ffffff;
  font-weight: 500;
  padding: 0;
  text-decoration: none;
}

#navbar-top .menu--account .nav-link:hover,
#navbar-top .menu--account .nav-link:focus-visible {
  color: var(--col-secondary, #249DC5);
  text-decoration: underline;
}

/* Formulaire de recherche dans le top si utilisé */
#navbar-top .navbar-form {
  margin: 0;
}

#navbar-top .navbar-form .search-form {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

#navbar-top .navbar-form .form-search {
  max-width: 220px;
  padding: 0.2rem 0.5rem;
  font-size: 0.8rem;
}

#navbar-top .navbar-form .form-submit {
  padding: 0.2rem 0.7rem;
  font-size: 0.75rem;
}

/* Mobile : on centre simplement tout */
@media (max-width: 767.98px) {
  #navbar-top .region-secondary-menu {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
  }
}

/* ---------------------------------
   NAVBAR MAIN : logo + menu principal
   --------------------------------- */

#navbar-main {
  background-color: #ffffff;
  padding: 2rem;
}

/* Contenu principal : colonne, centré */
#navbar-main .navbar-main-inner {
  /* Si tu veux wrapper, sinon on applique direct sur #navbar-main */
}

/* Brand : logo + titre APRS */
#navbar-main .navbar-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 0 auto 2rem;
  padding: 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  color: var(--col-primary, #00151D);
}

#navbar-main .navbar-brand img {
  display: block;
  height: auto;
  max-width: 520px;
  width: 100%;
}

/* Burger : aligné au centre sous le logo sur mobile */
#navbar-main .navbar-toggler {
  margin: 0 auto 0.5rem;
  border: 0;
}

#navbar-main .navbar-toggler-icon {
  filter: invert(12%) sepia(18%) saturate(600%) hue-rotate(160deg) brightness(90%);
}

/* Bloc nav principal (collapse) */
#navbar-main .navbar-collapse {
  justify-content: center;
}

/* Liste du menu principal */
#navbar-main .navbar-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem 1.25rem;
  margin: 0;
  padding: 0.25rem 0 0.4rem;
}

/* Items */
#navbar-main .navbar-nav .nav-item {
  list-style: none;
}

/* Liens */
#navbar-main .navbar-nav .nav-link {
  position: relative;
  padding: 0.15rem 0;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--col-primary, #00151D);
  text-decoration: none;
}

/* Hover & active avec soulignement fin */
#navbar-main .navbar-nav .nav-link:hover,
#navbar-main .navbar-nav .nav-link:focus-visible {
  color: var(--col-secondary, #249DC5);
}

#navbar-main .navbar-nav .nav-link.is-active,
#navbar-main .navbar-nav .nav-item.active > .nav-link {
  color: var(--col-secondary, #249DC5);
}

#navbar-main .navbar-nav .nav-link.is-active::after,
#navbar-main .navbar-nav .nav-item.active > .nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.2rem;
  transform: translateX(-50%);
  width: 70%;
  height: 2px;
  background-color: var(--col-secondary, #249DC5);
  border-radius: 999px;
}

/* ---------------------------------
   Desktop (≥ 992px)
   --------------------------------- */

@media (min-width: 992px) {

  /* Navbar main en colonne bien centrée */
  #navbar-main {
    padding-block: 2rem;
    padding-inline: 2rem;
  }

  /* On force l'affichage du menu principal sans burger */
  #navbar-main .navbar-collapse.collapse {
    display: block !important;
    width: 100%;
  }

  #navbar-main .navbar-toggler {
    display: none;
  }

  /* Menu principal centré sous le logo */
  #navbar-main .navbar-nav {
    justify-content: center;
  }
}

#navbar-top .region,
#navbar-main .block.menu--main {
  width: 100%;
}

/* Override Bootstrap dark sur navbar-main (on gère nous-mêmes) */
#navbar-main.navbar-dark .navbar-nav .nav-link {
  color: var(--col-primary, #00151D);
}
#navbar-main.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--col-secondary, #249DC5);
}
}
/* =========================================================
   APRS — Burger CSS only (mobile uniquement)
   ========================================================= */
/* En desktop : on masque le burger et on affiche toujours le menu */
   @media (min-width: 992px) {
     #navbar-main .navbar-toggler {
       display: none;
     }
     #navbar-main .navbar-collapse.collapse {
       display: block !important;
     }
   }

@media (max-width: 991.98px) {

  /* Bouton burger : zone cliquable confortable */
  #navbar-main .navbar-toggler {
    display: block;
    border: none;
    padding: 0.35rem 0.5rem;
    margin: 0 auto 0.75rem;
    background: transparent;
    outline: none;
  }

  /* On vire l'icône Bootstrap par défaut */
  #navbar-main .navbar-toggler .navbar-toggler-icon {
    background-image: none !important;
  }

  /* Burger APRS (3 barres) */
  #navbar-main .navbar-toggler .navbar-toggler-icon {
    position: relative;
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--col-primary, #00151D);
    border-radius: 999px;
    box-shadow:
      0 -6px 0 0 var(--col-primary, #00151D),
      0  6px 0 0 var(--col-primary, #00151D);
    transition: transform .2s ease-out, box-shadow .2s ease-out, background-color .2s ease-out;
  }

  /* État "ouvert" → croix (X) */
  #navbar-main .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
    background-color: transparent;
    box-shadow: none;
  }

  #navbar-main .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before,
  #navbar-main .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 2px;
    background-color: var(--col-primary, #00151D);
    border-radius: 999px;
  }

  #navbar-main .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
    transform: rotate(45deg);
  }

  #navbar-main .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
    transform: rotate(-45deg);
  }

  /* Hover / focus : légère mise en avant */
  #navbar-main .navbar-toggler:hover .navbar-toggler-icon,
  #navbar-main .navbar-toggler:focus-visible .navbar-toggler-icon {
    background-color: var(--col-secondary, #249DC5);
    box-shadow:
      0 -6px 0 0 var(--col-secondary, #249DC5),
      0  6px 0 0 var(--col-secondary, #249DC5);
  }
}

