/* =========================
   HEADER (WP menu + sous-menu)
   ========================= */

   .site-header{
    position:sticky; top:0; z-index:1000;
    backdrop-filter: blur(14px);
    background: rgba(7,10,16,.82);
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  
  .header-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding: 1rem 0;
    gap: 1rem;
  }
  
  /* Brand */
  .brand{
    display:flex;
    align-items:center;
    gap:.9rem;
    min-width: 240px;
    text-decoration:none;
  }
  
  .brand-logo{
    width:46px; height:46px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 10px 24px rgba(0,0,0,.28);
  }
  
  .brand-text strong{
    display:block;
    font-weight: 950;
    letter-spacing:.2px;
    color: var(--text);
  }
  
  .brand-text span{
    display:block;
    color: var(--muted);
    font-size:.95rem;
    margin-top:1px;
  }
  
  /* Nav container */
  .nav{ position:relative; }
  
  /* Burger */
  .nav-toggle{
    display:none;
    border:1px solid var(--border);
    background: rgba(255,255,255,.06);
    border-radius: 14px;
    padding:.65rem .75rem;
    cursor:pointer;
  }
  
  .burger{
    width:22px;
    height:14px;
    display:block;
    position:relative;
  }
  
  .burger:before, .burger:after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:2px;
    background: rgba(255,255,255,.88);
    border-radius:2px;
  }
  
  .burger:before{ top:0; }
  .burger:after{ bottom:0; }
  
  /* Panel */
  .nav-panel{
    display:flex;
    align-items:center;
    gap:.55rem;
  }
  
  /* =========================
     PILL + MENU WP (UL/LI)
     ========================= */
  
  .nav-pill{
    display:flex;
    align-items:center;
    padding: .25rem;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 12px 36px rgba(0,0,0,.22);
  }
  
  /* UL WP */
  .nav-pill .nav-menu{
    list-style:none;
    display:flex;
    align-items:center;
    gap:.15rem;
    margin:0;
    padding:0;
  }
  
  /* LI WP */
  .nav-pill .nav-menu > li{
    position:relative; /* pour dropdown */
    margin:0;
    padding:0;
  }
  
  /* Lien top-level WP */
  .nav-pill .nav-menu > li > a{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.62rem .9rem;
    border-radius: 999px;
    color: var(--muted);
    text-decoration:none;
    transition: .18s ease;
    font-weight: 800;
    letter-spacing:.1px;
    line-height: 1;
    white-space: nowrap;
  }
  
  /* Hover */
  .nav-pill .nav-menu > li > a:hover{
    color: var(--text);
    background: rgba(255,255,255,.06);
  }
  
  /* Active WP (current menu item) */
  .nav-pill .nav-menu > li.current-menu-item > a,
  .nav-pill .nav-menu > li.current_page_item > a,
  .nav-pill .nav-menu > li.current-menu-ancestor > a{
    color: var(--text);
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.10);
  }
  
  /* Indicateur dropdown */
  .nav-pill .nav-menu > li.menu-item-has-children > a:after{
    content:"▾";
    font-size:.85em;
    opacity:.85;
    transform: translateY(-1px);
  }
  
  /* =========================
     SOUS-MENU WP (dropdown)
     ========================= */
  
  /* UL sub-menu WP */
  .nav-pill .nav-menu > li > .sub-menu{
    position:absolute;
    top: calc(100% + .55rem);
    left: 0;
    min-width: 230px;
    padding: .45rem;
    margin:0;
    list-style:none;
  
    border-radius: 18px;
    background: rgba(14,18,28,.92);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
  
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: .18s ease;
    backdrop-filter: blur(10px);
    z-index: 1200;
  }
  
  /* Show dropdown on hover (desktop) */
  @media (hover:hover) and (pointer:fine){
    .nav-pill .nav-menu > li:hover > .sub-menu{
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
  }
  
  /* Sub items */
  .nav-pill .nav-menu > li > .sub-menu > li{
    margin:0;
    padding:0;
  }
  
  /* Sub link */
  .nav-pill .nav-menu > li > .sub-menu > li > a{
    display:block;
    padding:.7rem .8rem;
    border-radius: 14px;
    color: rgba(233,236,243,.88);
    text-decoration:none;
    transition:.16s ease;
    font-weight: 750;
  }
  
  /* Hover sub link */
  .nav-pill .nav-menu > li > .sub-menu > li > a:hover{
    background: rgba(255,255,255,.08);
    color: rgba(233,236,243,1);
  }
  
  /* Active sub link */
  .nav-pill .nav-menu .sub-menu .current-menu-item > a{
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.10);
  }
  
  /* =========================
     ACTIONS (Forum / Don)
     ========================= */
  
  .nav-actions{
    display:flex;
    gap:.55rem;
    margin-left: .2rem;
  }
  
  /* Buttons */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
  
    border-radius: 16px;
    padding: .75rem 1.05rem;
    border: 1px solid transparent;
  
    font-weight: 900;
    letter-spacing:.2px;
    cursor:pointer;
    text-decoration:none;
    transition:.18s ease;
    white-space: nowrap;
  }
  
  .btn-primary{
    background: linear-gradient(135deg, var(--brand), #ff9a79);
    color:#1b0f0a;
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 14px 34px rgba(245,126,87,.18);
  }
  
  .btn-primary:hover{ transform: translateY(-1px); }
  
  .btn-ghost{
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.10);
    color: var(--text);
  }
  
  .btn-ghost:hover{ background: rgba(255,255,255,.10); }
  
  /* =========================
     RESPONSIVE (mobile)
     ========================= */
  
  @media (max-width: 980px){
    .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  
    /* Panel devient dropdown mobile */
    .nav-panel{
      position:absolute;
      right:0;
      top: calc(100% + .75rem);
      width: min(92vw, 420px);
  
      display:none;
      flex-direction:column;
      align-items:stretch;
      gap:.75rem;
  
      padding: .85rem;
      border-radius: 20px;
      background: rgba(14,18,28,.94);
      border: 1px solid rgba(255,255,255,.10);
      box-shadow: 0 22px 55px rgba(0,0,0,.45);
      backdrop-filter: blur(12px);
      z-index: 2000;
    }
  
    .nav-panel.is-open{
      display:flex;
    }
  
    .nav-pill{
      width:100%;
      border-radius: 18px;
      padding: .55rem;
    }
  
    .nav-pill .nav-menu{
      width:100%;
      flex-direction:column;
      align-items:stretch;
      gap:.25rem;
    }
  
    .nav-pill .nav-menu > li > a{
      width:100%;
      justify-content:space-between;
      border-radius: 14px;
      padding: .78rem .9rem;
    }
  
    /* sub-menu devient “inline” en mobile */
    .nav-pill .nav-menu > li > .sub-menu{
      position:static;
      opacity:1;
      transform:none;
      pointer-events:auto;
      box-shadow:none;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.08);
      margin-top: .35rem;
      display:none; /* fermé par défaut */
    }
  
    /* ouverture au focus (simple) : si tu veux full toggle JS on le fait ensuite */
    .nav-pill .nav-menu > li:focus-within > .sub-menu{
      display:block;
    }
  
    .nav-actions{
      width:100%;
      margin-left:0;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:.6rem;
    }
  
    .btn{
      width:100%;
      justify-content:center;
    }
  }


  /* Header */
.site-header{
  position:sticky; top:0; z-index:1000;
  backdrop-filter: blur(14px);
  background: rgba(7,10,16,.82);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.header-row{
  display:flex; align-items:center; justify-content:space-between;
  padding: 1rem 0; gap:1rem;
}
.brand{ display:flex; align-items:center; gap:.9rem; min-width:240px; text-decoration:none; }
.brand-logo{
  width:46px; height:46px; border-radius: 16px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 24px rgba(0,0,0,.28);
}
.brand-text strong{ display:block; font-weight: 950; letter-spacing:.2px; color: var(--text); }
.brand-text span{ display:block; color: var(--muted); font-size:.95rem; margin-top:1px; }

/* Nav */
.nav{ position:relative; }
.nav-toggle{ display:none; }

/* Pill */
.nav-panel{ display:flex; align-items:center; gap:.75rem; }
.nav-pill{
  display:flex; align-items:center; gap:.25rem;
  padding:.35rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

/* top links */
.nav-link{
  display:inline-flex; align-items:center;
  padding:.6rem .95rem;
  border-radius: 999px;
  color: var(--muted);
  text-decoration:none;
  font-weight: 900;
  letter-spacing:.2px;
  transition:.18s ease;
  white-space:nowrap;
}
.nav-link:hover{ color:var(--text); background: rgba(255,255,255,.07); }
.nav-link.is-active,
.nav-item.is-active > .nav-link{
  color: var(--text);
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
}

/* parent with sub */
.nav-item{ position:relative; display:inline-flex; align-items:center; }
.nav-subToggle{
  width:34px; height:34px;
  margin-left:-6px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.nav-subToggle:hover{ background: rgba(255,255,255,.10); }
.nav-subToggle .chev{
  width:10px; height:10px;
  border-right:2px solid rgba(255,255,255,.75);
  border-bottom:2px solid rgba(255,255,255,.75);
  transform: rotate(45deg);
  margin-top:-2px;
}

/* submenu */
.nav-subWrap{
  position:absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 240px;
  padding: .5rem;
  border-radius: 18px;
  background: rgba(14,18,28,.96);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}
.nav-sub{ display:flex; flex-direction:column; gap:.15rem; }
.nav-sublink{
  padding:.7rem .85rem;
  border-radius: 14px;
  color: rgba(233,236,243,.86);
  text-decoration:none;
  font-weight: 800;
}
.nav-sublink:hover{ background: rgba(255,255,255,.08); color:#fff; }

/* open state */
.nav-item.is-sub-open .nav-subWrap{ display:block; }
.nav-subSlot > .nav-subWrap[hidden]{ display:none; }

/* Buttons right */
.nav-actions{ display:flex; gap:.55rem; margin-left:.25rem; }

/* Responsive */
@media (max-width: 980px){
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.06);
    border-radius: 14px;
    padding:.65rem .75rem;
    cursor:pointer;
  }
  .burger{ width:22px; height:14px; display:block; position:relative; }
  .burger:before, .burger:after{
    content:""; position:absolute; left:0; right:0; height:2px;
    background: rgba(255,255,255,.88); border-radius:2px;
  }
  .burger:before{ top:0; } .burger:after{ bottom:0; }

  .nav-panel{
    position: fixed;
    top: 70px;
    right: 16px;
    left: 16px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
    padding: .9rem;
    border-radius: 22px;
    background: rgba(10,12,18,.96);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 24px 70px rgba(0,0,0,.55);
  }
  .nav-panel.is-open{ display:flex; }
  .nav-pill{ flex-direction:column; border-radius: 18px; }
  .nav-item{ width:100%; justify-content:space-between; }
  .nav-link{ width:100%; justify-content:flex-start; }
  .nav-subWrap{
    position: static;
    box-shadow:none;
    margin-top:.35rem;
  }
}