/* Nav globale — même design que l’accueil (#navbar) */
#navbar{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:60px;padding:0 1.25rem;
  background:var(--ig-surface);
  border-bottom:1px solid var(--border);
  transition:transform .35s ease;
}
#navbar.scrolled{box-shadow:none}
#navbar.hide{transform:translateY(-100%)}
#navbar .nav-inner{
  max-width:935px;margin:0 auto;width:100%;height:100%;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
#navbar .logo{
  display:inline-flex;align-items:center;flex-shrink:0;
  background:var(--ig-surface);border:1px solid var(--border);border-radius:6px;
  padding:.22rem .5rem;line-height:0;
  transition:opacity .2s,transform .15s,box-shadow .15s;
}
#navbar .logo:hover{opacity:.92;transform:scale(1.02)}
#navbar .logo-img{
  display:block;height:34px;width:auto;max-width:min(150px,38vw);
  object-fit:contain;
}
.site-footer .logo-footer{
  display:inline-flex;align-items:center;
  background:var(--ig-surface);border:1px solid var(--border);
  border-radius:6px;padding:.2rem .45rem;line-height:0;
}
.site-footer .logo-footer .logo-img{height:28px;width:auto;max-width:130px}
#navbar .nav-links{display:flex;align-items:center;gap:1.25rem}
#navbar .nav-menu{
  display:flex;align-items:center;gap:1.25rem;
  background:transparent;border:none;padding:0;
}
#navbar .nav-link{
  display:inline-flex;align-items:center;padding:0;
  font-size:.875rem;font-weight:400;color:var(--text);
  transition:opacity .2s;
}
#navbar .nav-link:hover{opacity:.6;background:transparent;box-shadow:none}
#navbar .nav-link-blog{font-weight:600}
#navbar .nav-link-blog:hover{color:var(--ig-blue);opacity:1}
#navbar .nav-link-blog.is-active{color:var(--ig-blue);opacity:1}
#navbar .nav-cta,
#navbar .nav-pill,
#navbar .mag-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.4375rem 1rem;background:var(--ig-blue);color:#fff;
  font-weight:600;font-size:.875rem;border:none;border-radius:8px;
  cursor:pointer;white-space:nowrap;
  transition:background .2s,opacity .2s;box-shadow:none;
}
#navbar .nav-cta:hover,
#navbar .nav-pill:hover,
#navbar .mag-btn:hover{
  background:var(--ig-blue-hover);opacity:1;transform:none;
}
#navbar .shimmer-btn::after{display:none}
#navbar .hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;background:transparent;border:none;
  cursor:pointer;padding:0;flex-shrink:0;
}
#navbar .hamburger span{
  display:block;width:22px;height:2px;margin:0 auto;
  background:var(--text);border-radius:1px;
  transition:transform .3s,opacity .3s;
}
#navbar .hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#navbar .hamburger.is-open span:nth-child(2){opacity:0}
#navbar .hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{
  display:none;position:fixed;inset:0;top:60px;padding:1.5rem;
  background:var(--ig-surface);flex-direction:column;gap:0;
  z-index:898;overflow-y:auto;border-top:1px solid var(--border);
}
.mobile-menu.open{display:flex}
.mobile-menu a{
  font-size:1rem;font-weight:600;padding:1rem 0;
  color:var(--text);border-bottom:1px solid var(--border);
}
.mobile-menu a.is-active{color:var(--ig-blue)}
.mobile-menu a:last-of-type{border-bottom:none}
.mobile-menu .mobile-cta{
  margin-top:1rem;align-self:stretch;text-align:center;
  padding:.75rem 1rem;border-bottom:none;
}
body.menu-open{overflow:hidden}

/* Bouton flottant — catalogue externe */
.catalogue-fab{
  position:fixed;right:1.25rem;bottom:1.25rem;z-index:850;
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.75rem 1.15rem;
  background:var(--ig-text);color:#fff!important;
  font-size:.875rem;font-weight:600;line-height:1;
  border-radius:999px;
  box-shadow:0 6px 24px rgba(0,0,0,.18);
  transition:transform .2s,box-shadow .2s,background .2s;
}
.catalogue-fab:hover{
  background:#000;transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  opacity:1;
}
.catalogue-fab-icon{display:inline-flex;align-items:center;justify-content:center}
.catalogue-fab{
  border:none;cursor:pointer;font-family:inherit;
}

/* Modale catalogue */
.catalogue-modal{
  position:fixed;inset:0;z-index:1200;
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
}
.catalogue-modal[hidden]{display:none!important}
.catalogue-modal-backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.55);
  backdrop-filter:blur(2px);
}
.catalogue-modal-panel{
  position:relative;z-index:1;
  width:min(96vw,1100px);height:min(88vh,820px);
  display:flex;flex-direction:column;
  background:var(--ig-surface);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.catalogue-modal-header{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1rem;border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.catalogue-modal-header h2{
  font-size:1rem;font-weight:600;margin:0;
}
.catalogue-modal-actions{display:flex;align-items:center;gap:.75rem}
.catalogue-modal-link{
  font-size:.8125rem;font-weight:600;color:var(--ig-blue);
}
.catalogue-modal-link:hover{opacity:.7}
.catalogue-modal-close{
  width:36px;height:36px;border:none;border-radius:8px;
  background:var(--ig-bg);color:var(--text);
  font-size:1.5rem;line-height:1;cursor:pointer;
}
.catalogue-modal-close:hover{background:var(--s2)}
.catalogue-modal-body{flex:1;min-height:0;background:#f0f0f0}
.catalogue-modal-frame{
  display:block;width:100%;height:100%;border:0;
}
body.catalogue-modal-open{overflow:hidden}

@media (max-width:768px){
  .catalogue-modal{padding:.5rem}
  .catalogue-modal-panel{width:100%;height:min(92vh,100%);border-radius:10px}
  .catalogue-fab{
    right:1rem;bottom:1rem;
    padding:.65rem 1rem;font-size:.8125rem;
  }
  .catalogue-fab-icon svg{width:16px;height:16px}
  #navbar .hamburger{display:flex}
  #navbar .nav-links .nav-menu,
  #navbar .nav-links .nav-link-blog{display:none}
  #navbar .nav-links{gap:.5rem}
  #navbar .nav-cta{padding:.4rem .875rem;font-size:.8125rem}
}
