/*-------------------------------------------------------------------------*/
/* HAMBURGER BUTTON: Visual transformation into an "X" (instant) */
/*-------------------------------------------------------------------------*/
.nav-toggler-icon {
  transition: none !important;
}
.nav-toggler.is-open .nav-toggler-icon:nth-child(1),
.nav-toggler.is-open .nav-toggler-icon:nth-child(2),
.nav-toggler.is-open .nav-toggler-icon:nth-child(3) {
  transition: none !important;
}
.nav-toggler.is-open .nav-toggler-icon:nth-child(2) {
  opacity: 0;
}
.nav-toggler.is-open .nav-toggler-icon:nth-child(1) {
  transform: translateY(calc(8 / 16 * 1rem)) rotate(45deg);
  background-color: var(--source-color-accent-one) !important;
}
.nav-toggler.is-open .nav-toggler-icon:nth-child(3) {
  transform: translateY(calc(-8 / 16 * 1rem)) rotate(-45deg);
  background-color: var(--source-color-accent-one) !important;
}

@media (max-width: calc(635 / 16 * 1rem)) {
  .nav-links {
    display: none !important;
  }
  .nav-links.is-open {
    display: flex !important;
    flex-direction: column;
    position: fixed;
    top: calc(var(--nav-height-petit) + calc(8 / 16 * 1rem)) !important;
    left: 0;
    width: 100vw;
    height: calc(100vh - var(--nav-height-petit) - calc(8 / 16 * 1rem));
    z-index: 99;
    padding: 0 !important;
    margin: 0 !important;
    background-image: linear-gradient(to right, #000000, #457739) !important;
    background-color: transparent !important;
    overflow-y: hidden !important;
    gap: 0 !important;
  }
  .nav-links.is-open li {
    width: 100% !important;
    border-bottom: calc(3 / 16 * 1rem) solid var(--source-color-666666) !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #ffffff !important;
    display: block !important;
  }
  .nav-links.is-open li:not(.dropdown) {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: calc(1 / 16 * 1rem) solid var(--source-color-666666) !important;
    display: block !important;
  }
  .main-nav .nav-links.is-open > li:not(.dropdown) a.nav-link {
    margin: 0 !important;
    padding: calc(10 / 16 * 1rem) var(--space-md) !important;
    gap: calc(1 / 16 * 1rem);
    display: flex !important;
    border-bottom: calc(1 / 16 * 1rem) solid var(--source-color-666666) !important;
    width: 100% !important;
  }
  .nav-links.is-open li a .icon-desktop {
    display: none !important;
  }
  .nav-links.is-open li a .icon-mobile {
    display: inline-block !important;
  }
  .nav-links.is-open .dropdown-menu {
    position: static !important;
    top: auto !important;
    right: auto !important;
    background-color: transparent !important;
    width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 0 0 calc(30 / 16 * 1rem) !important;
    padding: 0 !important;
    flex-direction: column !important;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  .nav-links.is-open li a.nav-link,
  .nav-links.is-open .dropdown-toggle {
    margin: 0 !important;
    display: flex !important;
    width: 100% !important;
  }
  .nav-links.is-open .dropdown {
    padding-bottom: 0 !important;
  }
  .nav-links.is-open li a .nav-text-label {
    display: inline-block !important;
    margin-left: calc(15 / 16 * 1rem);
  }
  .nav-links.is-open li:first-child {
    border-bottom: calc(1 / 16 * 1rem) solid var(--source-color-666666) !important;
  }
  .nav-links.is-open a img.menu-icon-image,
  .nav-links.is-open a .icon-mobile {
    filter: contrast(4) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .nav-links.is-open .dropdown-menu a[class*="dropdown-item"] img {
    filter: contrast(4) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .nav-links.is-open .dropdown-menu li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  .nav-links.is-open .dropdown-menu a[class*="dropdown-item"] {
    color: var(--color-media-dropdown-item) !important;
    font-size: var(--font-size-nav-mobile) !important;
    line-height: 1.7 !important;
    margin: 0 !important;
    padding: 0 var(--space-md) 0 calc(63 / 16 * 1rem) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-weight: var(--fw-bold) !important;
  }
  .nav-links.is-open .dropdown .dropdown-toggle {
    color: var(--source-color-white) !important;
    font-size: var(--font-size-nav-mobile-label) !important;
    font-weight: var(--fw-bold) !important;
    letter-spacing: calc(2 / 16 * 1rem) !important;
    padding: 0 0 calc(7 / 16 * 1rem) calc(67 / 16 * 1rem) !important;
    margin: 0 !important;
    background-image: linear-gradient(to right, #000000, #457739) !important;
    background-color: transparent !important;
    border-bottom: calc(1 / 16 * 1rem) solid var(--source-color-666666) !important;
    display: none !important;
  }
  .nav-links.is-open .dropdown-menu .dropdown-item {
    border-bottom: none !important;
    font-size: 1.5rem !important;
    display: flex;
    margin: 0 !important;
    padding: 0 !important;
  }
  .nav-links.is-open .dropdown-menu a[class*="dropdown-item"] img,
  .nav-links.is-open .dropdown-menu a[class*="dropdown-item"] span {
    line-height: 0 !important;
    vertical-align: top !important;
    height: 1.5rem !important;
    width: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }
  .nav-links.is-open img.menu-icon-image {
    line-height: 0 !important;
    vertical-align: middle !important;
    height: 1.5rem !important;
    width: 1.5rem !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .nav-links.is-open span.nav-text-label {
    line-height: .7 !important;
    vertical-align: middle !important;
    transform: none !important;
    display: inline-block !important;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .nav-links.is-open .dropdown-menu {
    width: auto !important;
  }
  .nav-links.is-open ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }
  .nav-links.is-open ul li {
    margin: 0 !important;
    padding: 0 !important;
  }
  .nav-links.is-open ul li a {
    margin: 0 !important;
    padding: 0 !important;
    height: calc(36 / 16 * 1rem);
  }
  .nav-links.is-open li a.nav-link {
    font-size: .95rem !important;
    font-weight: var(--fw-normal) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: calc(15 / 16 * 1rem) !important;
    width: 100%;
    color: white;
    margin: 0 !important;
    padding: 0 0 0 calc(33 / 16 * 1rem) !important;
    line-height: 1.2 !important;
    height: calc(35 / 16 * 1rem) !important;
    border-bottom: none !important;
    background-color: #222222 !important;
  }
  .nav-links.is-open .dropdown-menu .menu-column:first-child li:last-child {
    border-bottom: calc(2 / 16 * 1rem) solid black !important;
  }
  .nav-links.is-open .dropdown-menu .menu-column:nth-child(2) li:first-child {
    border-top: none !important;
  }
  .nav-links.is-open .dropdown-menu .menu-column {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    border-left: none !important;
  }
  .nav-links.is-open .dropdown-menu .menu-column:first-child li:last-child {
    border-bottom: calc(2 / 16 * 1rem) solid #424242 !important;
  }
  .nav-links.is-open .dropdown-menu .menu-column:nth-child(2) li:last-child,
  .nav-links.is-open .dropdown-menu .menu-column:nth-child(2) li:last-child a {
    border-bottom: none !important;
  }
  html:not([data-theme="dark"]) .nav-links.is-open li,
  html:not([data-theme="dark"]) .nav-links.is-open .dropdown-menu li,
  html:not([data-theme="dark"]) .nav-links.is-open .dropdown-menu ul li {
    background-color: #f3ebd3 !important;
  }
}

body:has(.nav-links.is-open) #btn-scroll-top,
.nav-links.is-open ~ #btn-scroll-top,
.nav-links.is-open ~ * #btn-scroll-top {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html:has(.nav-links.is-open),
body:has(.nav-links.is-open) {
  overflow: hidden !important;
  height: 100vh !important;
}

.nav-links.is-open .dropdown-menu li:last-of-type {
  border-bottom: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.nav-links.is-open .dropdown-menu li:last-of-type a[class*="dropdown-item"] {
  border-bottom: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Menu Mobile : Mode Sombre --- */
html[data-theme="dark"] .nav-links.is-open .dropdown-menu,
html[data-theme="dark"] .nav-links.is-open .dropdown-menu li,
html[data-theme="dark"] .nav-links.is-open li {
  background-color: #000000 !important;
}
html[data-theme="dark"] .nav-links.is-open .dropdown-menu a[class*="dropdown-item"] {
  color: #ffffff !important;
  font-weight: var(--fw-normal) !important;
}
html[data-theme="dark"] .nav-links.is-open .dropdown-menu a[class*="dropdown-item"] img {
  filter: brightness(0) invert(1) !important;
}
html[data-theme="dark"] .nav-toggler-icon,
html[data-theme="dark"] .nav-toggler.is-open .nav-toggler-icon:nth-child(1),
html[data-theme="dark"] .nav-toggler.is-open .nav-toggler-icon:nth-child(3) {
  background-color: var(--source-color-accent-one) !important;
  color: var(--source-color-accent-one) !important;
}
html[data-theme="dark"] .nav-links.is-open li,
html[data-theme="dark"] .nav-links.is-open .dropdown-menu li,
html[data-theme="dark"] .nav-links.is-open .dropdown-menu ul li {
  border-bottom: calc(1 / 16 * 1rem) solid var(--source-color-accent-one) !important;
}
html[data-theme="dark"] .nav-links.is-open .dropdown-menu .menu-column:first-child li:last-child {
  border-bottom: calc(2 / 16 * 1rem) solid #a5a5a5 !important;
}
html[data-theme="dark"] .nav-links.is-open .dropdown-menu .menu-column:nth-child(2) li:last-child,
html[data-theme="dark"] .nav-links.is-open .dropdown-menu .menu-column:nth-child(2) li:last-child a {
  border-bottom: none !important;
}