/*
 * PixelBox — navigation du header (mu-plugin pixelbox-navigation) : mega menu « Boutique » du
 * module Menu Divi (Theme Builder), colonnes desktop et accordéons mobiles.
 * Divi pose déjà la mécanique (li.mega-menu : panneau absolu pleine largeur, colonnes en
 * pourcentage, sous-listes visibles au survol) ; ce fichier n'en règle que l'apparence, avec
 * les seuls jetons de tokens.css. Les !important répondent à ceux de Divi.
 * Structure attendue : Boutique (li.mega-menu) › colonnes (li.pbx-nav-column) › termes (li.pbx-nav-term) + lien « tout » (li.pbx-nav-all).
 */

/* ------------------------------------------------------------------ */
/* Desktop : panneau pleine largeur, deux colonnes                      */
/* ------------------------------------------------------------------ */
@media (min-width:981px){
  /* Le panneau (ul absolu) se positionne sur le premier ancêtre positionné : Divi en fait un à
     chaque niveau (rangée, colonne, module). Tous passent en static dans le header, la section
     reste le repère : le panneau prend la largeur du header, sous lui. */
  .et-l--header .et_pb_section{position:relative}
  .et-l--header .et_pb_row,
  .et-l--header .et_pb_column,
  .et-l--header .et_pb_menu,
  .et-l--header .et_pb_menu_inner_container,
  .et-l--header .et_pb_menu__wrap,
  .et-l--header .et_pb_menu__menu,
  .et-l--header .et_pb_menu .et_pb_menu__menu>nav>ul>li.mega-menu{position:static}

  /* Panneau : filet 1 px, sans ombre, sans radius, colonnes centrées sur la largeur de contenu */
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu>ul{
    display:flex;justify-content:center;gap:var(--space-7);
    box-sizing:border-box;width:100%;
    padding:var(--space-4) var(--space-4) var(--space-5);
    background:var(--color-bg);
    border:0;border-top:1px solid var(--color-rule);border-radius:0;box-shadow:none;
    animation:none!important;
  }
  /* Colonne : largeur fixe (Divi : 50 % + float), en-tête puis liste */
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu>ul>li,
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu.mega-menu-parent>ul>li{
    float:none!important;width:auto;flex:0 0 240px;max-width:calc(50% - var(--space-4));margin:0;
  }
  /* En-tête de colonne : petite capitale grise sur filet, non cliquable (lien # du placeholder) */
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu>ul>li.pbx-nav-column>a:first-child{
    display:block;width:100%;box-sizing:border-box;
    padding:0 0 var(--space-1)!important;margin:0 0 var(--space-2);
    font-family:var(--font-sans);font-size:var(--text-micro);font-weight:400;letter-spacing:.06em;text-transform:uppercase;
    color:var(--color-ink-soft);
    border-bottom:1px solid var(--color-rule);
    pointer-events:none;text-decoration:none;
  }
  /* Divi dessine un chevron sur tout parent : aucun dans le panneau */
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu li.menu-item-has-children>a:first-child:after{display:none}
  /* Liste de la colonne : à plat, sans le décor de sous-menu Divi */
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu li>ul,
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu.mega-menu-parent li>.sub-menu{
    position:static;width:100%!important;padding:0;margin:0;border:0;box-shadow:none;background:transparent;
  }
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu ul li{float:none!important;width:100%;margin:0;padding:0!important}
  /* Liens : une ligne chacun, filet au survol comme les liens du site */
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu li li>a{
    display:block;width:100%!important;box-sizing:border-box;
    padding:5px 0;margin:0;
    font-family:var(--font-sans);font-size:var(--text-small);line-height:var(--leading-body);color:var(--color-ink);
    background:transparent!important;
    text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:transparent;
    white-space:normal;
  }
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu li li>a:hover,
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu li li.current-menu-item>a{text-decoration-color:var(--color-ink);opacity:1}
  /* Lien « tout » : en bas de colonne, séparé d'un filet */
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu li li.pbx-nav-all>a{
    margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-rule);color:var(--color-ink-soft);
  }
  .et-l--header .et_pb_menu .et-menu-nav li.mega-menu li li.pbx-nav-all>a:hover{color:var(--color-ink)}
}

/* ------------------------------------------------------------------ */
/* Mobile / tablette : menu Divi cloné, colonnes en accordéons          */
/* (assets/js/navigation.js remplace le lien # de chaque colonne par un */
/* bouton, bascule la classe pbx-open ; « Par catégorie » ouverte par   */
/* défaut : classe posée par le sync)                                    */
/* ------------------------------------------------------------------ */
@media (max-width:980px){
  /* Divi force l'affichage de toute sous-liste (display:block!important) : l'accordéon répond au même poids */
  .et_pb_menu .et_mobile_menu li.pbx-nav-column>ul{display:none!important;padding-left:0}
  .et_pb_menu .et_mobile_menu li.pbx-nav-column.pbx-open>ul{display:block!important}
  /* Parent (Boutique) : Divi le met en gras sur fond gris ; même graisse que le reste, sans fond */
  .et_pb_menu .et_mobile_menu .menu-item-has-children>a{font-weight:400;background-color:transparent}
  /* En-tête d'accordéon : bouton pleine largeur, libellé à gauche, + / − à droite */
  .et_pb_menu .et_mobile_menu li.pbx-nav-column>.pbx-nav-toggle{
    display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);
    width:100%;box-sizing:border-box;margin:0;padding:10px 5%;
    background:none;border:0;border-bottom:1px solid var(--color-rule);border-radius:0;
    font-family:var(--font-sans);font-size:var(--text-micro);font-weight:400;letter-spacing:.06em;text-transform:uppercase;line-height:var(--leading-body);
    color:var(--color-ink-soft);text-align:left;cursor:pointer;
  }
  .et_pb_menu .et_mobile_menu li.pbx-nav-column>.pbx-nav-toggle::after{content:"+";font-size:var(--text-body);line-height:1;color:var(--color-ink)}
  .et_pb_menu .et_mobile_menu li.pbx-nav-column.pbx-open>.pbx-nav-toggle::after{content:"\2212"}
  /* Termes : retrait réduit, lien « tout » en gris */
  .et_pb_menu .et_mobile_menu li.pbx-nav-column li{padding-left:0}
  .et_pb_menu .et_mobile_menu li.pbx-nav-column li a{padding-left:10%}
  .et_pb_menu .et_mobile_menu li.pbx-nav-all>a{color:var(--color-ink-soft)}
}

/* ------------------------------------------------------------------ */
/* Footer : [pixelbox_footer] (menu « Footer », mu-plugin              */
/* pixelbox-navigation) — colonnes puis ligne de base                   */
/* ------------------------------------------------------------------ */
.pbx-footer{max-width:var(--container);margin:0 auto}
.pbx-footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}
.pbx-footer-col{min-width:0}
.pbx-footer-titre{margin:0 0 var(--space-2);font-family:var(--font-serif);font-weight:400;font-size:var(--text-body);line-height:var(--leading-title);color:var(--color-ink)}
.pbx-footer-list,.pbx-footer-inline{list-style:none;margin:0;padding:0}
.pbx-footer-list li{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--text-small);line-height:2em}
/* Divi impose des puces via #left-area ul et un padding aux listes : même poids pour l'emporter */
#et-boc .pbx-footer-list,#et-boc .pbx-footer-inline{list-style:none;padding:0}
/* Ligne de base : filet, raison sociale à gauche, liens en ligne à droite */
.pbx-footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--color-rule)}
.pbx-footer-tagline,.pbx-footer-inline li{margin:0;font-family:var(--font-sans);font-size:var(--text-micro);line-height:var(--leading-body);color:var(--color-ink-soft)}
.pbx-footer-inline{display:flex;flex-wrap:wrap;gap:0 var(--space-1)}
.pbx-footer-inline li+li::before{content:"·";margin-right:var(--space-1);color:var(--color-ink-soft)}
.pbx-footer-inline a{color:var(--color-ink-soft)}
.pbx-footer-inline a:hover{color:var(--color-ink)}
@media (max-width:980px){.pbx-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.pbx-footer-cols{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.pbx-footer-base{flex-direction:column;align-items:flex-start}}
