.header-menu-container.nav-flex nav {
	justify-content: flex-start!important;
}


.mobile-header-row .logo,
.header-menu-container.nav-flex .logo
{

    display: none;
}


.footer-widget {
	width: 100%!important;
}

@media only screen and (min-width: 992px) {
  .footer-type-2 .footer-widgets > .widget {
    width: calc(100% - 0px);
  }
}


/* ============ MEGA MENU "MATIÈRES" (DESKTOP) — Bloc propre ============ */
@media (min-width: 992px) {

  /* Le conteneur header sert de référence */
  .header-menu-container.nav-flex { position: relative; }
  .header-menu-container.nav-flex nav ul,
  .header-menu-container.nav-flex nav li { position: relative; }

  /* Panneau voile (ancré au header, aligné comme l’ancien site) */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu{
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin-top: 10px;

    width: min(1100px, calc(100vw - 80px));
    margin-left: auto;
    margin-right: auto;

    background: #1f1f1f;
    border-radius: 18px;
    padding: 24px 26px;
    box-shadow: 0 18px 50px rgba(0,0,0,.28);
    z-index: 99999;

    /* Colonnes */
    display: none;              /* reste caché par défaut */
    gap: 26px;
    align-items: flex-start;

    /* IMPORTANT : pas de scroll / pas de coupe */
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Ouverture au survol de "Matières" */
  .header-menu-container.nav-flex nav li.mega-materials:hover > ul.sub-menu{
    display: flex;
  }

  /* Colonnes (Technologies) */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li.mega-col{
    flex: 1 1 0;
    min-width: 190px;
    overflow: visible !important;
  }
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li.mega-col.wide{
    flex: 1.35 1 0;
  }

  /* Titres des colonnes */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li.mega-col > a{
    color: #fff;
    font-weight: 650;
    font-size: 15px;
    opacity: .95;
    padding: 10px 12px;
    display: block;
    margin-bottom: 6px;

    pointer-events: none;
    cursor: default;
  }

  /* Niveau 3 : toujours visible, sans flyout, sans scroll */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li.mega-col > ul.sub-menu{
    position: static !important;
    transform: none !important;
    display: block !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 6px 0 0 0 !important;
    margin: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Liens matières */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li.mega-col > ul.sub-menu > li > a{
    display: block;
    color: rgba(255,255,255,.88);
    font-size: 14px;
    padding: 7px 12px;
    border-radius: 10px;
    line-height: 1.25;
  }
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li.mega-col > ul.sub-menu > li > a:hover{
    background: rgba(255,255,255,.08);
    color: #fff;
  }

  /* Cache chevrons / toggles ajoutés par le thème */
  .header-menu-container.nav-flex nav li.mega-materials .dropdown-toggle,
  .header-menu-container.nav-flex nav li.mega-materials .sub-menu-toggle,
  .header-menu-container.nav-flex nav li.mega-materials .menu-item-arrow,
  .header-menu-container.nav-flex nav li.mega-materials .caret,
  .header-menu-container.nav-flex nav li.mega-materials svg,
  .header-menu-container.nav-flex nav li.mega-materials i{
    display: none !important;
  }

  /* Si le thème force l’overflow sur des parents */
  .header-menu-container,
  .header-menu-container.nav-flex,
  .header-menu-container.nav-flex nav{
    overflow: visible !important;
  }
}

/* ============ FIX HOVER : le voile ne doit pas disparaître ============ */
@media (min-width: 992px) {

  /* 1) Supprime le "trou" entre le lien et le panneau */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu{
    margin-top: 0 !important;     /* important */
  }

  /* 2) Ouvre le voile si on survole le LI OU le panneau lui-même */
  .header-menu-container.nav-flex nav li.mega-materials:hover > ul.sub-menu,
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu:hover{
    display: flex !important;
  }

  /* 3) Sécurise l’interaction (clics) */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu{
    pointer-events: auto !important;
  }

  /* 4) (Optionnel) une "zone tampon" invisible pour éviter toute micro-coupure */
  .header-menu-container.nav-flex nav li.mega-materials::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 14px;                 /* zone tampon */
  }
}

/* ============ FIX "VOILE VIDE" : garder le contenu visible quand on survole le panneau ============ */
@media (min-width: 992px) {

  /* Le panneau reste ouvert si on survole Matières OU le panneau */
  .header-menu-container.nav-flex nav li.mega-materials:hover > ul.sub-menu,
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu:hover{
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Le thème cache souvent les items via opacity/visibility : on force visible aussi au hover du panneau */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu:hover,
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu:hover *{
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Force l’affichage des colonnes et des listes (niveau 2 et 3) même si le parent n'est plus hover */
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li,
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li > ul,
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu > li > ul > li{
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (min-width: 992px) {
  .header-menu-container.nav-flex nav li.mega-materials > ul.sub-menu{
    background: rgba(15, 18, 26, 0.3) !important; /* ← PLUS TRANSPARENT */
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border: 1px solid rgba(0, 180, 255, 0.14);
    box-shadow:
      0 25px 80px rgba(0, 0, 0, 0.45),
      inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  }
}

/* ============ HOVER TITRES TECHNOLOGIES (SLA / SLS / MJF / SLM) ============ */
@media (min-width: 992px) {

  /* Couleur orange au hover sur le titre de colonne */
  .header-menu-container.nav-flex nav 
  li.mega-materials 
  > ul.sub-menu 
  > li.mega-col 
  > a:hover{
    color: #F14F44 !important; /* orange x3D-Print */
  }
}

/* ============ GLASS EFFECT — TOUS LES SOUS-MENUS (DESKTOP) ============ */
@media (min-width: 992px) {

  .header-menu-container.nav-flex nav ul.sub-menu{
    background: rgba(15, 18, 26, 0.30) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border-radius: 16px;
    border: 1px solid rgba(0, 180, 255, 0.14);

    box-shadow:
      0 25px 80px rgba(0, 0, 0, 0.45),
      inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  }
}

/* ============ FIX FOND — SOUS-MENUS NIVEAU 3 (MATIÈRES) ============ */
@media (min-width: 992px) {

  /* Listes de matières (niveau 3) : fond totalement transparent */
  .header-menu-container.nav-flex nav
  li.mega-materials
  > ul.sub-menu
  > li.mega-col
  > ul.sub-menu{
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    border: none !important;
    box-shadow: none !important;
  }

  /* Items individuels (sécurité anti-style thème) */
  .header-menu-container.nav-flex nav
  li.mega-materials
  > ul.sub-menu
  > li.mega-col
  > ul.sub-menu
  > li{
    background: transparent !important;
  }
}

/* Page Loader – agrandissement + centrage du logo */
.page-loader,
#page-loader,
.preloader {
  display: flex !important;
  align-items: center !important;      /* centrage vertical */
  justify-content: center !important;  /* centrage horizontal */
}

.page-loader img,
#page-loader img,
.preloader img {
  width: 300px !important;
  height: auto !important;
  max-width: none !important;
}



@media (min-width: 1100px) {
  .header-menu-container.nav-flex nav ul.sub-menu a{
    white-space: nowrap;
  }
}


/* =====================================================
   VOILE TRANSLUCIDE GLOBAL — TOUS LES SOUS-MENUS HEADER
   ===================================================== */
@media (min-width: 992px) {

  .header-menu-container.nav-flex nav ul.sub-menu{
    background: rgba(15, 18, 26, 0.3) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border-radius: 16px;
    border: 1px solid rgba(0, 180, 255, 0.14);

    box-shadow:
      0 25px 80px rgba(0, 0, 0, 0.45),
      inset 0 0 0 1px rgba(255, 255, 255, 0.04);

    overflow: visible !important;
  }

  /* Sécurité : éviter que le thème écrase le fond */
  .header-menu-container.nav-flex nav ul.sub-menu li,
  .header-menu-container.nav-flex nav ul.sub-menu a{
    background: transparent !important;
  }
}

/* =====================================================
   GLASS GLOBAL — TOUS LES SOUS-MENUS DU HEADER (DESKTOP)
   (fonctionne même si le header change selon les pages)
   ===================================================== */
@media (min-width: 992px){

  /* Cible large : tous les sous-menus dans le header */
  header nav ul.sub-menu,
  header .sub-menu,
  .site-header nav ul.sub-menu,
  .site-header .sub-menu,
  .elementor-location-header nav ul.sub-menu,
  .elementor-location-header .sub-menu,
  body > header nav ul.sub-menu,
  body > header .sub-menu{
    background: rgba(15, 18, 26, 0.30) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;

    border: 1px solid rgba(0, 180, 255, 0.14) !important;
    border-radius: 16px !important;

    box-shadow:
      0 25px 80px rgba(0,0,0,.45),
      inset 0 0 0 1px rgba(255,255,255,.04) !important;
  }

  /* Sécurité : le thème met parfois un fond sur les LI */
  header nav ul.sub-menu li,
  header nav ul.sub-menu a,
  .site-header nav ul.sub-menu li,
  .site-header nav ul.sub-menu a,
  .elementor-location-header nav ul.sub-menu li,
  .elementor-location-header nav ul.sub-menu a{
    background: transparent !important;
  }
	
	
	/* Bouton Connexion — uniquement celui du header Elementor */
.header .btn-connexion-x3d,
.elementor-location-header .btn-connexion-x3d{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  border-radius: 999px;
  color: #fff !important;
  text-decoration: none !important;

  background: linear-gradient(90deg,#4A6CF7 0%, #7A5BCF 60%, #E84B4B 100%);
  box-shadow: 0 12px 30px rgba(74,108,247,.28);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.header .btn-connexion-x3d:hover,
.elementor-location-header .btn-connexion-x3d:hover{
  filter: brightness(1.07) saturate(1.08);
  transform: translateY(-1px);
  box-shadow: 0 16px 45px rgba(74,108,247,.35);
}
}

.glass-hero {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}