/* FluxBourse — navigation commune (en-tête, barre mobile, menu, pied de page)
   Chargé sur toutes les pages publiques. Classes préfixées fbn / fbb / fbs / fbf
   pour ne jamais entrer en conflit avec les styles propres à chaque page. */

:root{--fbn-gold:#F7A64F;--fbn-bg:#0A0D14;--fbn-card:#10141E;--fbn-line:rgba(255,255,255,.07);--fbn-txt:#ECF0F9;--fbn-mut:#8C97AD;--fbn-font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}

/* ── En-tête ── */
.fbn,.fbn *,.fbb,.fbb *,.fbs,.fbs *,.fbf,.fbf *{box-sizing:border-box}
.fbn{position:sticky;top:0;z-index:1500;width:100%;height:60px;margin:0;padding:0;background:rgba(10,13,20,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--fbn-line);font-family:var(--fbn-font)}
.fbn .fbn-in{max-width:1240px;height:100%;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:2rem}
.fbn a.fbn-logo,.header a.logo{font-family:var(--fbn-font);font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:var(--fbn-gold);text-decoration:none;white-space:nowrap;flex-shrink:0}
.fbn nav.fbn-menu,.header nav.fbn-menu{position:static;inset:auto;width:auto;height:auto;margin:0;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;justify-content:flex-start;gap:.25rem;flex:1 1 auto;min-width:0}
.fbn-menu .fbn-item{position:relative}
.fbn-menu .fbn-top{display:inline-flex;align-items:center;gap:.3rem;height:40px;padding:0 .8rem;border:0;border-radius:8px;background:none;color:#C5CDDC;font:600 .9rem/1 var(--fbn-font);text-decoration:none;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}
.fbn-menu .fbn-top:hover,.fbn-menu .fbn-item.open>.fbn-top{color:#fff;background:rgba(255,255,255,.05)}
.fbn-menu .fbn-top.on{color:var(--fbn-gold)}
.fbn-menu .fbn-top svg{width:12px;height:12px;opacity:.7;transition:transform .15s}
.fbn-menu .fbn-item.open>.fbn-top svg{transform:rotate(180deg)}
.fbn-drop{position:absolute;top:calc(100% + 8px);left:0;width:300px;padding:.4rem;background:var(--fbn-card);border:1px solid rgba(255,255,255,.09);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:10}
.fbn-drop::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.fbn-item.open>.fbn-drop{opacity:1;visibility:visible;transform:none}
.fbn-drop a{display:block;padding:.6rem .75rem;border-radius:8px;text-decoration:none;color:var(--fbn-txt);font:600 .88rem/1.3 var(--fbn-font)}
.fbn-drop a small{display:block;margin-top:.15rem;color:var(--fbn-mut);font-weight:500;font-size:.76rem}
.fbn-drop a:hover{background:rgba(255,255,255,.05)}
.fbn-drop a.on{color:var(--fbn-gold)}
.fbn .fbn-right{display:flex;align-items:center;gap:.6rem;margin-left:auto;flex-shrink:0}
.fbn a.fbn-cta,.header a.fbn-cta{display:inline-flex;align-items:center;height:38px;padding:0 1rem;border-radius:8px;background:var(--fbn-gold);color:#0B0E14;font:700 .86rem/1 var(--fbn-font);text-decoration:none;white-space:nowrap;transition:background .15s}
.fbn a.fbn-cta:hover,.header a.fbn-cta:hover{background:#ffb870}

/* Pages à en-tête outil (accueil, fiches action) : menu inséré dans l'en-tête existant */
.header nav.fbn-menu{display:none;flex:0 1 auto;margin-left:1.25rem}
.header a.fbn-cta{display:none;height:34px;font-size:.82rem;margin-left:.25rem}
@media(min-width:861px){.header.fbn-light nav.fbn-menu{display:flex}.header.fbn-light a.fbn-cta{display:inline-flex}.header.fbn-light .hdr-prem{display:none!important}}
@media(min-width:1180px){.header nav.fbn-menu{display:flex}.header .nav-premium,.header .hdr-prem{display:none!important}}

/* ── Barre du bas (mobile) ── */
.fbb{display:none}
@media(max-width:860px){
  .fbn{height:56px}
  .fbn .fbn-in{padding:0 1rem;gap:1rem}
  .fbn nav.fbn-menu{display:none}
  .fbn a.fbn-cta{display:none}
  .fbb{display:flex;position:fixed;left:0;right:0;top:auto;bottom:0;z-index:1600;height:calc(60px + env(safe-area-inset-bottom));padding:0 .25rem env(safe-area-inset-bottom);background:rgba(10,13,20,.98);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--fbn-line);font-family:var(--fbn-font)}
  .fbb a,.fbb button{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:0;border:0;background:none;color:#8C97AD;font:600 .66rem/1 var(--fbn-font);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .fbb svg{width:22px;height:22px}
  .fbb .on{color:var(--fbn-gold)}
  .fbb .fbb-sgi span{color:var(--fbn-gold)}
  body.fbb-on{padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}
  body.fbb-on .mob-menu-btn{display:none!important}
  body.fbb-on .ap-sticky{bottom:calc(60px + env(safe-area-inset-bottom))!important}
  body.fbb-on #chatbot-toggle,body.fbb-on .chatbot-toggle,body.fbb-on .chatbot-btn,body.fbb-on #fbChatBtn{bottom:calc(76px + env(safe-area-inset-bottom))!important}
}

/* ── Menu plein écran (mobile) ── */
.fbs{position:fixed;inset:0;z-index:1700;display:none;font-family:var(--fbn-font)}
.fbs.open{display:block}
.fbs-bg{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.fbs-panel{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow-y:auto;padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));background:var(--fbn-bg);border-top:1px solid var(--fbn-line);border-radius:16px 16px 0 0;animation:fbsUp .2s ease-out}
@keyframes fbsUp{from{transform:translateY(30px);opacity:.5}to{transform:none;opacity:1}}
.fbs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.fbs-head a{color:var(--fbn-gold);font-weight:800;font-size:1.1rem;text-decoration:none}
.fbs-close{width:38px;height:38px;border:0;border-radius:8px;background:rgba(255,255,255,.06);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fbs-close svg{width:18px;height:18px}
.fbs-grp{margin-top:1rem}
.fbs-grp h3{margin:0 0 .35rem;padding:0 .25rem;color:var(--fbn-mut);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fbs-grp a{display:flex;flex-direction:column;padding:.7rem .75rem;border-radius:10px;color:var(--fbn-txt);text-decoration:none;font-size:.95rem;font-weight:600}
.fbs-grp a small{color:var(--fbn-mut);font-size:.76rem;font-weight:500;margin-top:.15rem}
.fbs-grp a:active,.fbs-grp a:hover{background:rgba(255,255,255,.05)}
.fbs-grp a.on{color:var(--fbn-gold)}
.fbs-sgi{display:block;margin-top:1.25rem;padding:.9rem;border-radius:10px;background:var(--fbn-gold);color:#0B0E14!important;text-align:center;font-weight:800;text-decoration:none}

/* ── Pied de page ── */
.fbf{display:block;padding:0;text-align:left;flex-direction:initial;margin-top:3rem;border-top:1px solid var(--fbn-line);background:#07090F;font-family:var(--fbn-font);color:var(--fbn-mut)}
.fbf .fbf-in{max-width:1240px;margin:0 auto;padding:2.5rem 1.5rem 1.5rem;display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:2rem}
.fbf a.fbf-logo{color:var(--fbn-gold);font-weight:800;font-size:1.15rem;text-decoration:none}
.fbf p{margin:.6rem 0 0;font-size:.8rem;line-height:1.6;color:var(--fbn-mut)}
.fbf p.fbf-warn{color:#6F7A90;font-size:.74rem}
.fbf h4{margin:0 0 .7rem;color:var(--fbn-txt);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fbf nav.fbf-col{position:static;display:flex;flex-direction:column;gap:.45rem;width:auto;height:auto;padding:0;background:none;border:0;box-shadow:none}
.fbf .fbf-col a{color:var(--fbn-mut);font-size:.84rem;text-decoration:none}
.fbf .fbf-col a:hover{color:#fff}
.fbf .fbf-legal{max-width:1240px;margin:0 auto;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--fbn-line);display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.74rem;color:#5E6980}
.fbf .fbf-legal a{color:#7A859B;text-decoration:none}
.fbf .fbf-legal a:hover{color:#fff}
.fbf.fbf-lite .fbf-in{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:1.75rem}
@media(max-width:860px){
  .fbf .fbf-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;padding:2rem 1rem 1rem}
  .fbf .fbf-brand{grid-column:1/-1}
  .fbf.fbf-lite .fbf-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fbf .fbf-legal{padding:1rem}
}
