/* ========================================
   DROPDOWN SUBMENUS - Desktop (hover)
   ======================================== */

.wp-block-navigation__submenu-container {
  background: transparent !important;
  border-radius: 1rem !important;
  padding: 0.75rem 0.5rem !important;
  padding-top: 1.25rem !important;
  min-width: 220px !important;
  box-shadow: none !important;
  border: none !important;
  margin-top: 0 !important;
  opacity: 0;
  transform: translateY(-10px);
  visibility: hidden;
  transition: opacity 0.25s ease-out, transform 0.25s ease-out, visibility 0.25s ease-out !important;
}

/* Affichage au hover avec transition (desktop uniquement) */
.wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container {
  opacity: 1 !important;
  transform: translateY(0) !important;
  visibility: visible !important;
}

/* Items du sous-menu */
.wp-block-navigation__submenu-container .wp-block-navigation-item {
  margin: 0 0.25rem;
  position: relative;
  z-index: 1;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  padding: 0.625rem 1rem !important;
  border-radius: 0.75rem !important;
  transition: all 0.2s ease-out !important;
  display: block !important;
  width: 100% !important;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: rgba(46, 170, 123, 0.2) !important;
  color: #2EAA7B !important;
}

/* Sous-menus imbriqués */
.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  margin-top: 0 !important;
  margin-left: 0.5rem !important;
}

/* Flèche du toggle - Desktop */
.wp-block-navigation-submenu__toggle svg {
  width: 0.75rem !important;
  height: 0.75rem !important;
  margin-left: 0.25rem !important;
  opacity: 0.6;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.wp-block-navigation-submenu:hover > .wp-block-navigation-submenu__toggle svg {
  opacity: 1;
  transform: rotate(180deg);
}

/* Fond du dropdown avec bordure */
.wp-block-navigation__submenu-container::after {
  content: '';
  position: absolute;
  top: 0.5rem;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2a2a2a;
  border-radius: 1rem;
  box-shadow:
    0 15px 50px -12px rgba(0, 0, 0, 0.4),
    0 8px 25px -8px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  z-index: -1;
  pointer-events: none;
}

/* Petit triangle au-dessus du dropdown */
.wp-block-navigation__submenu-container::before {
  content: '';
  position: absolute;
  top: calc(0.5rem - 6px);
  right: 24px;
  width: 12px;
  height: 12px;
  background: #2a2a2a;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: none;
  border-right: none;
  transform: rotate(45deg);
  border-radius: 3px 0 0 0;
  z-index: 1;
}


/* ========================================
   MOBILE PANEL - Panneau latéral
   L'ouverture/fermeture est gérée par WordPress
   Interactivity API (data-wp-class--is-menu-open).
   On ne fait que du style ici, pas de manipulation JS.
   ======================================== */

/* État fermé : on remplace le display:none de WordPress
   par visibility + pointer-events pour permettre les transitions.
   Sans ça, display:none coupe toute animation CSS. */
.wp-block-navigation__responsive-container:not(.is-menu-open) {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 100000 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: rgba(0, 0, 0, 0) !important;
  -webkit-backdrop-filter: blur(0);
          backdrop-filter: blur(0);
}

/* Backdrop — transition smooth ouverture ET fermeture */
.wp-block-navigation__responsive-container {
  transition: visibility 0.45s, background-color 0.45s ease,
              -webkit-backdrop-filter 0.45s ease, backdrop-filter 0.45s ease !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
  background: rgba(0, 0, 0, 0.5) !important;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  padding: 0 !important;
}

/* Wrapper intermédiaire WP — reset pour laisser le dialog gérer */
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-close {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
}

/* Dialog = le panneau coulissant complet (croix + contenu).
   C'est LUI qui slide, comme ça la croix suit le mouvement. */
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-dialog {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: 85vw !important;
  max-width: 380px !important;
  height: 100% !important;
  background: #1a1a1a !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.4) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.06) !important;
  overflow-y: auto !important;
  /* Hors-écran à droite par défaut */
  transform: translateX(100%) !important;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Ouvert : le dialog glisse en position (slide-in de droite à gauche) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  transform: translateX(0) !important;
}

/* Bouton close — positionné dans le dialog, il slide avec le panneau */
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close {
  position: absolute !important;
  top: 1.25rem !important;
  right: 1.25rem !important;
  z-index: 10 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  background: transparent !important;
  border: none !important;
  padding: 0.5rem !important;
  border-radius: 50% !important;
}

.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Contenu du panneau — layout flex vertical à l'intérieur du dialog */
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  padding: 5rem 1.5rem 2rem !important;
  gap: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
}

/* ---- Reset layout : tout en colonne verticale ---- */

/* Tous les items dans l'overlay : empilés verticalement, pleine largeur */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Séparateurs entre items de premier niveau */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation-submenu {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation-item:last-child,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation-submenu:last-child {
  border-bottom: none;
}

/* ---- Sous-menus dans l'overlay : visibles par défaut ----
   WordPress Interactivity API gère l'affichage des sous-menus
   nativement. On reset juste les styles desktop pour le mobile. */

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  padding: 0 0 2rem 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  overflow: visible !important;
  max-height: none !important;
}

/* Supprimer le fond ::after et la flèche ::before en mobile */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::after,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::before {
  display: none !important;
  content: none !important;
}

/* ---- Liens de navigation dans le panneau ---- */

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  display: block !important;
  width: 100% !important;
  padding: 1rem 0 !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  border-radius: 0 !important;
  transition: color 0.2s ease !important;
  text-align: left !important;
  text-decoration: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:active {
  color: #2EAA7B !important;
  background: transparent !important;
  text-decoration: none !important;
  outline: none !important;
}

/* Suppression globale des soulignements et outlines dans le panneau */
.wp-block-navigation__responsive-container.is-menu-open a,
.wp-block-navigation__responsive-container.is-menu-open a:hover,
.wp-block-navigation__responsive-container.is-menu-open a:focus,
.wp-block-navigation__responsive-container.is-menu-open a:active,
.wp-block-navigation__responsive-container.is-menu-open button,
.wp-block-navigation__responsive-container.is-menu-open button:focus {
  text-decoration: none !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* ---- Toggle du sous-menu masqué — sous-menus toujours ouverts en mobile ---- */

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
  display: none !important;
}

/* ---- Sous-items dans le panneau mobile ---- */

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
  border-bottom: none !important;
  margin: 0 !important;
  width: 100% !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.35rem 0 0.35rem 1.25rem !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  position: relative !important;
}

/* Indicateur de sous-item (petit trait vert) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 3px !important;
  height: 16px !important;
  background: rgba(46, 170, 123, 0.3) !important;
  border-radius: 2px !important;
  transition: background 0.2s ease, height 0.2s ease !important;
  display: block !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active::before {
  background: #2EAA7B !important;
  height: 20px !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active {
  color: #2EAA7B !important;
  background: transparent !important;
}

/* ---- Sous-menus imbriqués dans l'overlay (niveau 3) ---- */
/* Retrait visuel pour marquer la hiérarchie.
   Spécificité (0,4,0) nécessaire pour battre la règle
   .is-menu-open ...content .has-child ...submenu { margin: 0 } */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  margin-left: 1rem !important;
  padding-left: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding-left: 1.25rem !important;
}
