/* ═══════════════════════════════════════════════════════════════════════
   Menu « burger » — mobile uniquement (≤ 820 px).

   À charger APRÈS le CSS de la page. Le bouton et le panneau déroulant
   sont construits par /_bar.js. Sans JavaScript on retombe exactement sur
   le comportement d'avant — liens masqués, CTA visible — donc rien ne
   casse : le menu est une amélioration, pas une dépendance.
   ═══════════════════════════════════════════════════════════════════════ */

/* Le panneau est positionné par rapport à la barre. */
.bar__in{position:relative;}

/* Au-delà de 820 px le panneau s'efface : display:contents rend ses liens
   au <nav>, qui les dispose comme avant (même flex, même gap). */
.bar__panneau{display:contents;}
.burger{display:none;}

@media(max-width:820px){

  /* Un lien resté enfant DIRECT du <nav> (JS absent ou en échec) reste
     masqué, comme aujourd'hui. Le « > » épargne ceux que le script a
     déplacés dans le panneau. */
  .bar nav > a:not(.btn){display:none;}

  /* Le bouton prend 42 px : sans resserrer, le logo et le CTA passent
     à la ligne dès 375 px et la barre double de hauteur.

     ⚠️ Sélecteurs volontairement redondants (.bar .bar__in au lieu de
     .bar__in) : dans index.html le <style> de la page est placé DANS le
     <body>, donc après ce fichier. À spécificité égale il gagnerait.
     On passe devant par la spécificité, pas par l'ordre. */
  .bar .bar__in{gap:8px;padding-left:14px;padding-right:8px;}
  .bar .bar__in nav{gap:4px;}
  .bar .bar__in .logo{white-space:nowrap;font-size:17px;}
  .bar .bar__in .btn{white-space:nowrap;padding:9px 14px;font-size:14px;min-height:38px;}

  .bar__panneau{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    flex-direction:column;
    background:var(--navy-800,#12263A);
    border-top:1px solid rgba(255,255,255,.09);
    box-shadow:0 16px 34px rgba(0,0,0,.34);
    padding:6px 0;
  }
  .bar--ouvert .bar__panneau{display:flex;}

  .bar .bar__panneau a{
    display:block;
    padding:14px 24px;
    color:#C6D3E0;
    text-decoration:none;
    font-size:16.5px;
    font-weight:600;
  }
  .bar .bar__panneau a:hover,
  .bar .bar__panneau a:focus-visible{
    color:var(--or,#E8B84B);
    background:rgba(255,255,255,.06);
  }

  /* Le bouton : trois barres qui deviennent une croix à l'ouverture.
     42 px de côté = la cible tactile recommandée. */
  .burger{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:42px;height:42px;
    padding:0 9px;
    flex:none;
    background:transparent;
    border:0;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .burger span{
    display:block;
    height:2px;width:100%;
    border-radius:2px;
    background:#C6D3E0;
    transition:transform .18s ease,opacity .14s ease;
  }
  .burger:hover span{background:var(--or,#E8B84B);}

  .bar--ouvert .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .bar--ouvert .burger span:nth-child(2){opacity:0;}
  .bar--ouvert .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}

@media(prefers-reduced-motion:reduce){
  .burger span{transition:none;}
}

/* Les petits écrans (iPhone SE et compagnie) : encore un cran. */
@media(max-width:420px){
  .bar .bar__in .logo{font-size:15.5px;}
  .bar .bar__in .btn{padding:9px 11px;font-size:13.5px;}
}
