/* Easy Solutions — socle du menu de référence restauré en V88.
   Le composant complet est ensuite harmonisé par unified-menu-v34.css. */
:root{
  --navy:#16243f;
  --red:#c41e2a;
  --red-dark:#a0161f;
  --paper:#fff;
  --mist:#f4f6f9;
  --line:#e2e7ef;
  --slate:#5a6377;
  --font-display:'Archivo',Arial,sans-serif;
  --font-body:'Public Sans',Arial,sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
  --header-h:82px;
  --shadow:0 18px 40px -20px rgba(22,36,63,.35);
}
.topbar,.topbar *,#header,#header *,#mobileMenu,#mobileMenu *{box-sizing:border-box}
.topbar a,#header a,#mobileMenu a{text-decoration:none}
.topbar{position:relative;z-index:1210;background:var(--navy);color:rgba(255,255,255,.8);font-family:var(--font-body);font-size:.8rem}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;width:min(1540px,calc(100% - 32px));height:38px;margin:0 auto;gap:20px;padding:0}
.topbar-left{display:flex;gap:24px;align-items:center;min-width:0}
.topbar a{display:inline-flex;align-items:center;gap:8px;color:inherit;white-space:nowrap;transition:color .2s}
.topbar a:hover{color:#fff}
.topbar svg{width:13px;height:13px;color:var(--red)}
.topbar-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;color:rgba(255,255,255,.55);white-space:nowrap}
.topbar-social{display:flex;align-items:center}

#header.header{position:sticky;top:0;z-index:1200;background:#fff;border-bottom:1px solid var(--line);font-family:var(--font-body);transition:box-shadow .25s ease}
#header.header.scrolled{box-shadow:0 6px 24px -12px rgba(22,36,63,.28)}
#header.header .wrap{display:flex;align-items:center;justify-content:space-between;width:min(1440px,calc(100% - 48px));height:var(--header-h);margin:0 auto;padding:0;gap:30px}
#header .logo{display:flex;align-items:center;gap:12px;flex:none;color:var(--navy)}
#header .logo-mark{width:40px;height:40px;flex:none}
#header .logo-text,#mobileMenu .logo-text{display:flex;flex-direction:column;line-height:1}
#header .logo-text b,#mobileMenu .logo-text b{font-family:var(--font-display);font-weight:900;font-size:1.18rem;letter-spacing:-.03em;text-transform:uppercase}
#header .logo-text b span,#mobileMenu .logo-text b span{color:var(--red)}
#header .logo-text small{margin-top:4px;color:var(--slate);font-family:var(--font-mono);font-size:.53rem;letter-spacing:.22em;text-transform:uppercase}

#header .nav{display:flex;align-items:center;gap:4px;margin-left:auto;padding:0;list-style:none}
#header .nav>li{position:relative;list-style:none}
#header .nav-link{position:relative;display:flex;align-items:center;gap:6px;padding:12px 14px;color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
#header .nav-link .chev{width:9px;height:9px}
#header .mega{position:absolute;top:calc(100% + 1px);left:50%;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;width:min(920px,92vw);padding:28px;border:1px solid var(--line);border-top:3px solid var(--red);background:#fff;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:all .22s}
#header .mega-item{position:relative;grid-column:span 2;padding:16px;border-radius:4px;color:var(--navy)}
#header .mega-item b{display:block;margin-bottom:6px;font-family:var(--font-display);font-size:.9rem}
#header .mega-item p{color:var(--slate);font-size:.8rem;line-height:1.45}
#header .audience-menu{position:absolute;top:calc(100% + 1px);left:50%;width:340px;padding:12px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateX(-50%) translateY(10px)}
#header .audience-choice{display:block;padding:13px;color:var(--navy)}
#header .audience-choice b,#header .audience-choice small{display:block}
#header .audience-choice small{margin-top:3px;color:var(--slate);font-size:.72rem;line-height:1.4}
#header .burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--navy);cursor:pointer}
#header .burger svg{width:24px;height:24px}
#header .header-cta,#mobileMenu .mobile-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:4px;background:var(--red);color:#fff;font-family:var(--font-display);font-weight:800;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}

#mobileMenu.mobile-menu{position:fixed;inset:0;z-index:9999;display:block;overflow:auto;background:#122039;color:#fff;transform:translateX(100%)}
#mobileMenu .mobile-shell{width:min(1180px,100%);min-height:100%;margin:0 auto;padding:28px 30px 38px}
#mobileMenu .mobile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
#mobileMenu .mobile-brand-sub{display:block;margin-top:5px;color:rgba(255,255,255,.48);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase}
#mobileMenu .mobile-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;align-items:start}
#mobileMenu .mobile-panel{padding:18px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.045)}
#mobileMenu .mobile-panel-title{display:block;padding:0 0 12px;color:#ff6a73;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
#mobileMenu .mobile-link{display:flex;align-items:center;gap:12px;padding:13px 10px;border-radius:9px;color:#fff;font-family:var(--font-display);font-size:.92rem;font-weight:700}
#mobileMenu .mobile-link svg,#mobileMenu .v26-intent svg{width:22px;height:22px;flex:none;color:#ef4752}
#mobileMenu .mobile-link small{display:block;margin-top:2px;color:rgba(255,255,255,.52);font-family:var(--font-body);font-size:.72rem;font-weight:400;line-height:1.35}
#mobileMenu .mobile-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
#mobileMenu .mobile-footer-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
#mobileMenu .mobile-contact{display:flex;flex-wrap:wrap;gap:8px 18px}
#mobileMenu .mobile-contact a{color:rgba(255,255,255,.68);font-family:var(--font-body);font-size:.78rem}

@media(max-width:900px){.topbar-tag,.topbar-social{display:none}.topbar-left{gap:16px}}
@media(max-width:700px){.topbar .wrap{justify-content:center}.topbar-left a:nth-child(n+2){display:none}}
