/* ── Skip to content (accessibilité) — caché sauf au focus clavier ── */
.skip-to-content{
  position:absolute;left:-9999px;top:0;z-index:100000;
  background:#1B72BE;color:#FFFFFF;
  padding:12px 20px;border-radius:0 0 8px 0;
  font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:600;
  text-decoration:none;
}
.skip-to-content:focus{left:0}

/* alicog-header.css · ALICOG · NovaSiteWeb · 2026 */


/* ══ HEADER ALICOG ══════════════════════════════════════════ */
.alicog-header {
  --c-bg:#080C14; --c-bg-2:#0A0F1C; --c-bg-soft:#0F1520;
  --c-surface:#0F1520; --c-border:#1A2540; --c-border-soft:#1A2540;
  --c-text:#FFFFFF; --c-text-inv:#FFFFFF; --c-text-2:#C6D3E6;
  --c-text-muted:#A4B5CE; --c-text-soft:#A4B5CE;
  --c-on-dark:#C6D3E6; --c-on-dark-2:#A4B5CE;
  --ink:   var(--c-bg);
  --deep:  var(--c-bg-2);
  --slate: var(--c-border);
  --steel: var(--c-text-muted);
  --muted: var(--c-text-soft);
  --blue:  #1B72BE;
  --gold:  #1B72BE;
  --white: var(--c-text-inv);
  --h:     84px;
  --f-t: 'Montserrat', sans-serif;
  --f-b: 'Montserrat', sans-serif;
}
.alicog-header * { box-sizing: border-box; margin: 0; padding: 0; }

/* Barre principale */
.ah-bar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9000;
  height: var(--h); min-height: var(--h);
  background: var(--ink);
  border-bottom: 1px solid var(--slate);
  transition: background .3s, box-shadow .3s, border-color .3s;
  display: flex; align-items: center;
}
.ah-bar.ah-scrolled {
  background: rgba(8,12,20,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 24px rgba(0,0,0,.35);
  border-color: rgba(26,37,64,.6);
}
.ah-inner {
  max-width: 1200px; margin: 0 auto; width: 100%;
  padding: 0 72px;
  display: flex; align-items: center; gap: 40px;
}

/* Logo */
.ah-logo {
  display: flex; align-items: center; text-decoration: none;
  flex-shrink: 0;
}
.ah-logo img {
  height: 42px; width: auto;
  transition: opacity .2s;
}
.ah-logo:hover img { opacity: .85; }

/* ── Bascule logo selon le mode dark/light ── */
.ah-logo-light { display: none; }
.ah-logo-dark { display: block; }
html[data-theme="light"] .ah-logo-dark { display: none; }
html[data-theme="light"] .ah-logo-light { display: block; }

.ah-logo-txt {
  font-family: var(--f-t); font-size: 1.5rem; font-weight: 800;
  color: var(--c-text); letter-spacing: -.03em; line-height: 1;
}
.ah-logo-txt span { color: var(--blue); }

/* Nav principale */
.ah-nav {
  display: flex; align-items: center; gap: 4px;
  list-style: none; margin-left: auto;
}
.ah-nav > li { position: relative; }

/* Liens top-level */
.ah-nav > li > a {
  display: flex; align-items: center; gap: 5px;
  font-family: var(--f-b); font-size: .83rem; font-weight: 500;
  color: var(--c-on-dark); text-decoration: none;
  padding: 8px 12px; border-radius: 3px;
  transition: color .2s, background .2s;
  white-space: nowrap;
}
.ah-nav > li > a:hover,
.ah-nav > li.current-menu-item > a,
.ah-nav > li.current-menu-parent > a,
.ah-nav > li.current-menu-ancestor > a {
  color: var(--c-text);
}
.ah-nav > li.current-menu-item > a { color: var(--blue); }

/* Chevron dropdown */
.ah-chevron {
  width: 12px; height: 12px;
  stroke: currentColor; stroke-width: 2; fill: none;
  transition: transform .25s;
  flex-shrink: 0;
}
.ah-nav > li.ah-open > a .ah-chevron { transform: rotate(180deg); }

/* ══ MEGA MENU SERVICES ══ */
.ah-mega {
  position: absolute; top: calc(100% + 8px); left: 50%;
  transform: translateX(-50%);
  background: var(--deep); border: 1px solid var(--slate);
  border-radius: 6px; padding: 24px;
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
  min-width: 580px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
  opacity: 0; pointer-events: none;
  transform: translateX(-50%) translateY(-8px);
  transition: opacity .2s, transform .2s;
}
.ah-nav > li.ah-open .ah-mega {
  opacity: 1; pointer-events: all;
  transform: translateX(-50%) translateY(0);
}
/* Petit triangle */
.ah-mega::before {
  content: '';
  position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
  width: 12px; height: 6px;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  background: var(--slate);
}

.ah-mega-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 14px; border-radius: 4px; text-decoration: none;
  transition: background .2s; border: 1px solid transparent;
}
.ah-mega-item:hover {
  background: rgba(27,114,190,.06);
  border-color: rgba(27,114,190,.15);
}
.ah-mega-ico {
  width: 36px; height: 36px; border-radius: 7px;
  background: rgba(27,114,190,.08); border: 1px solid rgba(27,114,190,.15);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: background .2s;
}
.ah-mega-item:hover .ah-mega-ico { background: rgba(27,114,190,.15); }
.ah-mega-ico svg { width: 16px; height: 16px; stroke: var(--blue); stroke-width: 1.5; fill: none; }
.ah-mega-name {
  font-family: var(--f-t); font-size: .82rem; font-weight: 700;
  color: var(--c-text); margin-bottom: 2px; line-height: 1.3;
  transition: color .2s;
}
.ah-mega-item:hover .ah-mega-name { color: var(--blue); }
.ah-mega-desc { font-family: var(--f-b); font-size: .72rem; color: var(--muted); line-height: 1.45; }

/* Pied du mega menu */
.ah-mega-footer {
  grid-column: 1 / -1;
  padding-top: 14px; margin-top: 8px;
  border-top: 1px solid var(--slate);
  display: flex; justify-content: space-between; align-items: center;
}
.ah-mega-footer-txt { font-family: var(--f-b); font-size: .75rem; color: var(--muted); }
.ah-mega-footer-lnk {
  font-family: var(--f-b); font-size: .75rem; font-weight: 600;
  color: var(--blue); text-decoration: none;
  display: flex; align-items: center; gap: 5px;
  transition: gap .2s;
}
.ah-mega-footer-lnk:hover { gap: 8px; }
.ah-mega-footer-lnk svg { width: 12px; height: 12px; stroke: var(--blue); stroke-width: 2; fill: none; }

/* Sous-menu simple */
.ah-sub {
  position: absolute; top: calc(100% + 8px); left: 0;
  background: var(--deep); border: 1px solid var(--slate);
  border-radius: 4px; min-width: 200px;
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
  padding: 8px;
  list-style: none;
  opacity: 0; pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .2s, transform .2s;
}
.ah-nav > li.ah-open .ah-sub {
  opacity: 1; pointer-events: all;
  transform: translateY(0);
}
.ah-sub li a {
  display: block; padding: 9px 14px; border-radius: 3px;
  font-family: var(--f-b); font-size: .82rem;
  color: var(--c-on-dark); text-decoration: none;
  transition: all .15s;
}
.ah-sub li a:hover { background: rgba(255,255,255,.04); color: var(--white); padding-left: 18px; }

/* Bouton CTA */
.ah-cta {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--blue); color: var(--c-text); border: none;
  padding: 9px 18px; border-radius: 3px;
  font-family: var(--f-t); font-size: .82rem; font-weight: 700;
  cursor: pointer; text-decoration: none; transition: all .2s;
  white-space: nowrap; flex-shrink: 0;
}
.ah-cta:hover {
  background: var(--c-bg-2); color: var(--c-text);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(27,114,190,.3);
}

/* ══ BURGER MOBILE ══ */
.ah-burger {
  display: none; flex-direction: column; gap: 5px;
  width: 38px; height: 38px; cursor: pointer;
  align-items: center; justify-content: center;
  background: rgba(27,114,190,.1); border: 1px solid rgba(27,114,190,.4);
  border-radius: 8px; padding: 0; transition: all .2s;
  margin-left: auto; flex-shrink: 0;
}
.ah-burger:hover { border-color: var(--blue); background: rgba(27,114,190,.18); }
.ah-burger span {
  display: block; width: 19px; height: 2px;
  background: var(--c-text-inv); border-radius: 2px;
  transition: all .25s;
}
.ah-burger.ah-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.ah-burger.ah-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.ah-burger.ah-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ══ MENU MOBILE ══ */
.ah-mobile {
  position: fixed; top: var(--h); left: 0; right: 0; bottom: 0;
  background: #080C14; z-index: 8999; overflow-y: auto;
  padding: 24px 20px 40px;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
html[data-theme="light"] .ah-mobile { background: #FFFFFF; }
.ah-mobile.ah-open { transform: translateX(0); }

/* Items mobile */
.ah-mob-item {
  border-bottom: 1px solid var(--slate);
}
.ah-mob-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 4px; text-decoration: none;
  font-family: var(--f-t); font-size: 1.05rem; font-weight: 700;
  color: var(--c-text); transition: color .2s;
}
.ah-mob-link:hover { color: var(--blue); }
.ah-mob-toggle {
  width: 32px; height: 32px; background: var(--deep);
  border: 1px solid var(--slate); border-radius: 3px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .2s;
  flex-shrink: 0;
}
.ah-mob-toggle svg {
  width: 14px; height: 14px; stroke: var(--c-on-dark); stroke-width: 2; fill: none;
  transition: transform .25s;
}
.ah-mob-item.ah-mob-open .ah-mob-toggle svg { transform: rotate(180deg); }
.ah-mob-item.ah-mob-open .ah-mob-toggle { border-color: var(--blue); }

/* Sous-items mobile */
.ah-mob-sub {
  list-style: none; overflow: hidden;
  max-height: 0; transition: max-height .3s ease;
}
.ah-mob-item.ah-mob-open .ah-mob-sub { max-height: 600px; }
.ah-mob-sub-item a {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 8px 12px 16px; text-decoration: none;
  font-family: var(--f-b); font-size: .88rem;
  color: var(--c-on-dark); transition: all .2s;
  border-left: 2px solid var(--slate);
}
.ah-mob-sub-item a:hover { color: var(--white); border-color: var(--blue); padding-left: 20px; }
.ah-mob-sub-item a svg { width: 14px; height: 14px; stroke: var(--blue); stroke-width: 1.5; fill: none; flex-shrink: 0; }

/* CTA mobile */
.ah-mob-cta {
  margin-top: 24px; display: flex; flex-direction: column; gap: 10px;
}
.ah-mob-cta a {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px; border-radius: 3px; text-decoration: none;
  font-family: var(--f-t); font-size: .9rem; font-weight: 700; transition: all .2s;
}
.ah-mob-cta-p { background: var(--blue); color: var(--c-text); }
.ah-mob-cta-p:hover { background: var(--c-text-inv); color: #0F1B2D; }
.ah-mob-cta-g { background: transparent; color: var(--c-text); border: 1px solid var(--slate); }
.ah-mob-cta-g:hover { border-color: rgba(255,255,255,.3); }

/* Indicateur page courante mobile */
.ah-mob-item.ah-mob-current .ah-mob-link { color: var(--blue); }

/* Spacer pour compenser le header fixe */
.ah-spacer { height: var(--h); }

/* Responsive breakpoints */
@media (max-width: 1024px) {
  .ah-inner { padding: 0 32px; }
}
@media (max-width: 900px) {
  .ah-nav, .ah-cta { display: none; }
  .ah-burger { display: flex; }
  .ah-inner { padding: 0 20px; }
}






/* ══ HEADER MOBILE FIRST ══ */
/* BASE mobile — burger visible, nav cachée */
.ah-nav { display: none !important; }
.ah-cta { display: none !important; }
.ah-burger { display: flex !important; }
.ah-inner { justify-content: space-between !important; }
.ah-inner { padding: 0 20px !important; }

/* ≥ 640px — un peu plus de padding */
@media (min-width: 640px) {
  .ah-inner { padding: 0 32px !important; }
}

/* ≥ 900px — nav desktop, burger caché */
@media (min-width: 900px) {
  .ah-nav { display: flex !important; }
  .ah-cta { display: inline-flex !important; }
  .ah-burger { display: none !important; }
  .ah-mobile { display: none !important; }
  .ah-inner { padding: 0 48px !important; }
}

/* ≥ 1200px — padding full */
@media (min-width: 1200px) {
  .ah-inner { padding: 0 72px !important; }
  .ah-logo img { height: 52px !important; }
}

/* ── Switcher langue ── */

.ah-lang a,.ah-lang-cur{padding:3px 8px;border-radius:2px;text-decoration:none;letter-spacing:.06em;transition:color .2s}
.ah-lang a{color:var(--muted);border:1px solid var(--slate)}
.ah-lang a:hover{color:var(--white);border-color:rgba(255,255,255,.2)}
.ah-lang-cur{color:var(--c-text);border:1px solid rgba(27,114,190,.5);background:rgba(27,114,190,.12)}



/* ══ CURSEUR PERSONNALISÉ ════════════════════════════════════ */
/* Masquer curseur natif quand le custom est actif */
@media (pointer: fine) {
  body:has(#alicog-cursor) { cursor: none !important; }
  body:has(#alicog-cursor) a,
  body:has(#alicog-cursor) button,
  body:has(#alicog-cursor) [role="button"],
  body:has(#alicog-cursor) input[type="submit"] { cursor: none !important; }
}

/* ══ OVERLAY TRANSITION PAGE ═════════════════════════════════ */
#alicog-transition {
  position: fixed;
  inset: 0;
  background: var(--c-bg);
  z-index: 99998;
  pointer-events: none;
}

/* Toggle thème — visible desktop + mobile */
.theme-toggle { display: flex; }


/* ── Groupe d'actions header (droite) ── */
.ah-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
@media(max-width:900px){
  .ah-actions{gap:6px}
}
