/* =========================================================
   Fix dropdowns (selectize + dropdown menus)
   ========================================================= */
.selectize-dropdown {
  z-index: 3000 !important;
}
.dropdown-menu {
  z-index: 3000 !important;
}

/* =========================================================
   Masquer Navbar Homepage (NAVBAR PRINCIPALE SEULEMENT)
   ========================================================= */

/* Masquer pendant le boot */
body.navbar-booting .navbar-main {
  display: none !important;
}

/* Homepage : navbar cachée + pas d'espace réservé */
body.hide-navbar {
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: hidden !important;
}

body.hide-navbar .navbar-main {
  display: none !important;
  margin: 0 !important;
}

body.hide-navbar :is(
  .container, .container-fluid,
  .tabbable, .tab-content, .tab-pane,
  main, .main, .main-container
) {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

body.hide-navbar .tabbable > .tab-content {
  margin: 0 !important;
  padding: 0 !important;
}

body.hide-navbar :is(.tab-content, .tab-pane) {
  min-height: 0 !important;
}

/* =========================================================
   Navbar (NAVBAR PRINCIPALE SEULEMENT)
   ========================================================= */

.navbar-main {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Bloc blanc arrondi englobant logo + nav */
.navbar-main .container,
.navbar-main .container-fluid {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  background: rgba(255,255,255,0.92) !important;
  border-radius: 14px;

  height: 56px !important;
  padding: 0 10px !important;

  box-shadow:
    0 10px 25px rgba(0,0,0,0.06),
    0 2px 6px rgba(0,0,0,0.04);
}

/* Logo */
.navbar-main .navbar-brand {
  display: flex !important;
  align-items: center !important;
  height: 56px !important;
  padding: 0 20px !important;
  margin: 0 !important;
}

.navbar-main .navbar-brand img {
  height: 40px !important;
  width: auto !important;
  display: block !important;
}

/* UL */
.navbar-main .navbar-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;

  width: auto !important;
  flex: 0 0 auto !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  box-shadow: none !important;
}

/* Liens navbar */
.navbar-main .navbar-nav .nav-link {
  background: transparent !important;   /* plus de fond "bouton" */
  border: 0 !important;                /* plus de bordure */
  box-shadow: none !important;
  border-radius: 0 !important;         /* plus d'arrondi pill */

  font-family: var(--font-sans, "Outfit", sans-serif) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 26px !important;

  height: 44px !important;
  padding: 0 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;

  text-decoration: none !important;

  transition: color 200ms ease, transform 200ms ease, opacity 200ms ease;
}

/* Icônes */
.navbar-main .navbar-nav svg {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

/* Hover */
.navbar-main .navbar-nav .nav-link:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}

/* Actif */
.navbar-main .navbar-nav .nav-link.active,
.navbar-main .navbar-nav .nav-link.active:hover,
.navbar-main .navbar-nav .nav-link.active:focus {
  color: var(--red, #ff4d52) !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  position: relative;
}

/* Underline actif */
.navbar-main .navbar-nav .nav-link.active::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 6px;
  height: 3px;
  border-radius: 3px;
  background: var(--red, #ff4d52);
}

/* Couleurs par onglet */
.navbar-main .navbar-nav .nav-item:nth-child(1) .nav-link { color: #45ace8; }
.navbar-main .navbar-nav .nav-item:nth-child(2) .nav-link { color: #0d2366; }
.navbar-main .navbar-nav .nav-item:nth-child(3) .nav-link { color: #e625b3; }
.navbar-main .navbar-nav .nav-item:nth-child(4) .nav-link { color: #425fb8; }
.navbar-main .navbar-nav .nav-item:nth-child(5) .nav-link { color: #03cec2; }
.navbar-main .navbar-nav .nav-item:nth-child(6) .nav-link { color: #7fd948; }
.navbar-main .navbar-nav .nav-item:nth-child(7) .nav-link { color: #8e8e8e; }

/* l'actif reste rouge */
.navbar-main .navbar-nav .nav-link.active {
  color: var(--red, #ff4d52) !important;
}

/* =========================================================
   MOBILE (NAVBAR PRINCIPALE SEULEMENT)
   ========================================================= */
@media (max-width: 768px) {

  .navbar-main .container,
  .navbar-main .container-fluid {
    display: block !important;
    height: auto !important;
    padding: 8px 10px !important;
  }

  .navbar-main .navbar-brand {
    height: 44px !important;
    padding: 0 8px !important;
  }

  .navbar-collapse.show,
  .navbar-collapse.collapsing {
    width: 100% !important;
  }

  .navbar-main .navbar-nav {
    display: block !important;
    width: 100% !important;
    padding: 6px 0 0 0 !important;
    gap: 0 !important;
  }

  .navbar-main .navbar-nav .nav-item {
    width: 100% !important;
  }

  .navbar-main .navbar-nav .nav-link {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    justify-content: flex-start !important;
    white-space: normal !important;
    transform: none !important;
  }

  .navbar-main .navbar-nav .nav-link:hover {
    transform: none !important;
  }
}

/* =========================================================
   Navbar bslib Compétitions (2e navbar)
   ========================================================= */

.ffa-nav2{

  background: var(--blue-primary) !important;
  border: 0 !important;
  border-radius: 14px !important;

  padding: .55rem .75rem !important;

  box-shadow:
    0 10px 25px rgba(0,0,0,0.08),
    0 2px 6px rgba(0,0,0,0.06);

  margin-bottom: 0px !important;
}

/* retire les paddings internes bootstrap/bslib */
.ffa-nav2 .container,
.ffa-nav2 .container-fluid{
  background: transparent !important;
  padding: 0 !important;
}

/* pas de titre/brand */
.ffa-nav2 .navbar-brand{
  display: none !important;
}

.ffa-nav2 + .container,
.ffa-nav2 + .container-fluid,
.ffa-nav2 + main {
  margin-top: 0 !important;
  padding-top: 0 !important; /* ajuste ici si besoin */
}
/* ===============================
   Items top-level
================================ */

.ffa-nav2 .navbar-nav{
  gap: .25rem !important;
}

.ffa-nav2 .navbar-nav .nav-link,
.ffa-nav2 .navbar-nav .dropdown-toggle{
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;

  color: var(--white) !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .02em;

  padding: .55rem .75rem !important;
  border-radius: .6rem !important;

  transition: none !important; /* comme ta sidebar */
}

/* hover : blue-button */
.ffa-nav2 .navbar-nav .nav-link:hover,
.ffa-nav2 .navbar-nav .dropdown-toggle:hover{
  color: var(--blue-button) !important;
}

/* actif : blue-button + léger fond */
.ffa-nav2 .navbar-nav .nav-link.active,
.ffa-nav2 .navbar-nav .nav-link.active:hover,
.ffa-nav2 .navbar-nav .nav-link.active:focus{
  color: var(--blue-button) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* icônes */
.ffa-nav2 .navbar-nav svg,
.ffa-nav2 .navbar-nav i{
  color: currentColor !important;
  opacity: .95;
}

.ffa-nav2 .dropdown-toggle::after{
  display: none !important;
}


/* ===============================
   Dropdown menu (sous-items)
================================ */
.ffa-nav2 .dropdown-menu{
  background: var(--blue-primary) !important;
  border: 0 !important;
  border-radius: .8rem !important;

  padding: .35rem !important;
  margin-top: .5rem !important;

  box-shadow:
    0 16px 40px rgba(0,0,0,0.22),
    0 4px 12px rgba(0,0,0,0.14);

  z-index: 3000 !important; /* au-dessus des cards */
}

/* items : white par défaut */
.ffa-nav2 .dropdown-menu .dropdown-item{
  background: transparent !important;
  border: 1px solid transparent !important;

  border-radius: .6rem !important;
  padding: .55rem .75rem !important;

  color: var(--white) !important;
  font-weight: 600 !important;

  transition: none !important;
}

/* hover : blue-button */
.ffa-nav2 .dropdown-menu .dropdown-item:hover,
.ffa-nav2 .dropdown-menu .dropdown-item:focus{
  color: var(--blue-button) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* actif dropdown : blanc + fond blue-button léger */
.ffa-nav2 .dropdown-menu .dropdown-item.active,
.ffa-nav2 .dropdown-menu .dropdown-item:active{
  color: var(--white) !important;
  background: rgba(2, 188, 255, 0.14) !important;
}

/* =========================================
   Hamburger BS5 (bslib) : surcharger la variable officielle
========================================= */
.ffa-nav2{
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  --bs-navbar-toggler-border-color: rgba(255,255,255,0.45);
}

/* Force l’icône à utiliser la variable (au cas où) */
.ffa-nav2 .navbar-toggler-icon{
  background-image: var(--bs-navbar-toggler-icon-bg) !important;
  width: 1.8rem !important;
  height: 1.8rem !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Bouton un peu plus lisible */
.ffa-nav2 .navbar-toggler{
  border-color: var(--bs-navbar-toggler-border-color) !important;
  background: rgba(255,255,255,0.10) !important;
}

/* =========================================
   Dropdown Lancers : header "Marteau" + sous-items
========================================= */

/* "Marteau" : même police/taille/couleur que Disque, Poids, Javelot */
.ffa-nav2 .dropdown-menu .dropdown-header {
  color: var(--white) !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  padding: .55rem .75rem !important;
  opacity: 1 !important;
  text-transform: none !important;
}

/* Flightscope et Thèse G. Cecchelli : police plus petite, légèrement indentés */
.ffa-nav2 .dropdown-menu li:has(~ li hr.dropdown-divider) > .dropdown-item {
  font-size: 13px !important;
  font-weight: 400 !important;
  padding-left: 1.25rem !important;
  opacity: 0.85;
}

/* Hover des sous-items : même comportement que les autres */
.ffa-nav2 .dropdown-menu li:has(~ li hr.dropdown-divider) > .dropdown-item:hover,
.ffa-nav2 .dropdown-menu li:has(~ li hr.dropdown-divider) > .dropdown-item:focus {
  color: var(--blue-button) !important;
  background: rgba(255,255,255,0.06) !important;
  opacity: 1;
}
