/* ==========================================================================
   SUPPRESSION TOTALE DU BOUTON ET DE LA BARRE D'ÉDITION FRAMER (Pencil Icon)
   ========================================================================== */
#__framer-editorbar-container,
#__framer-editorbar,
.__framer-editorbar-button,
.__framer-editorbar-label,
.__framer-editorbar-spinner,
[data-framer-name="EditButton"],
[class*="editorbar"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ==========================================================================
   GLOBAL RESET & OVERFLOW CONTAINMENT (Empêche tout décalage horizontal)
   ========================================================================== */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

@supports not (overflow-x: clip) {
  html, body {
    overflow-x: hidden !important;
  }
}

/* Cache définitivement l'ancien menu template framer résiduel sur la page sur-mesure */
.framer-jge7m-container,
nav.framer-S6f3p,
nav.framer-S6f3p[data-framer-name="Desktop"],
.framer-109hukg,
.framer-rhc5l0 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* ==========================================================================
   DATALIA Smart Header: Disparaît au scroll vers le bas, réapparaît au scroll vers le haut
   & réapparaît instantanément au survol du haut de page
   ========================================================================== */

.framer-1u9zwl1-container,
.framer-1bcsjuw-container,
.framer-1sbex97-container,
.framer-nxpdfp-container,
.framer-1lzo2b0-container,
.framer-1lkot0t-container,
.datalia-sur-mesure-header-wrap,
.datalia-sur-mesure-header-wrap .framer-1sbex97-container,
[data-datalia-header="true"] {
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease !important;
  will-change: transform, opacity;
  z-index: 99999 !important;
}

/* Header visible par défaut */
body .framer-1u9zwl1-container:not(.datalia-header-hidden),
body .framer-1bcsjuw-container:not(.datalia-header-hidden),
body .framer-1sbex97-container:not(.datalia-header-hidden),
body .framer-nxpdfp-container:not(.datalia-header-hidden),
body .framer-1lzo2b0-container:not(.datalia-header-hidden),
body .framer-1lkot0t-container:not(.datalia-header-hidden),
body .datalia-sur-mesure-header-wrap:not(.datalia-header-hidden),
body .datalia-sur-mesure-header-wrap .framer-1sbex97-container:not(.datalia-header-hidden),
body [data-datalia-header="true"]:not(.datalia-header-hidden),
body.datalia-hover-top .framer-1u9zwl1-container,
body.datalia-hover-top .framer-1bcsjuw-container,
body.datalia-hover-top .framer-1sbex97-container,
body.datalia-hover-top .framer-nxpdfp-container,
body.datalia-hover-top .framer-1lzo2b0-container,
body.datalia-hover-top .framer-1lkot0t-container,
body.datalia-hover-top .datalia-sur-mesure-header-wrap,
body.datalia-hover-top [data-datalia-header="true"] {
  transform: translateY(0px) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Cliquabilité absolue garantie pour tous les liens et boutons du header */
[data-datalia-header="true"]:not(.datalia-header-hidden) a,
[data-datalia-header="true"]:not(.datalia-header-hidden) button,
.framer-1u9zwl1-container:not(.datalia-header-hidden) a,
.framer-1u9zwl1-container:not(.datalia-header-hidden) button,
.datalia-sur-mesure-header-wrap:not(.datalia-header-hidden) a,
.datalia-sur-mesure-header-wrap:not(.datalia-header-hidden) button,
.framer-1lzo2b0-container:not(.datalia-header-hidden) a,
.framer-1lzo2b0-container:not(.datalia-header-hidden) button,
nav.framer-RxP9F a,
nav.framer-RxP9F button {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Header masqué quand on descend significativement */
body:not(.datalia-hover-top) .framer-1u9zwl1-container.datalia-header-hidden,
body:not(.datalia-hover-top) .framer-1bcsjuw-container.datalia-header-hidden,
body:not(.datalia-hover-top) .framer-1sbex97-container.datalia-header-hidden,
body:not(.datalia-hover-top) .framer-nxpdfp-container.datalia-header-hidden,
body:not(.datalia-hover-top) .framer-1lzo2b0-container.datalia-header-hidden,
body:not(.datalia-hover-top) .framer-1lkot0t-container.datalia-header-hidden,
body:not(.datalia-hover-top) .datalia-sur-mesure-header-wrap.datalia-header-hidden,
body:not(.datalia-hover-top) .datalia-sur-mesure-header-wrap .framer-1sbex97-container.datalia-header-hidden,
body:not(.datalia-hover-top) [data-datalia-header="true"].datalia-header-hidden {
  transform: translateY(-110%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   DATALIA Header Contact Button Hover Effect (Partout sur le site)
   ========================================================================== */
.framer-VjjJg {
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

/* Cercle blanc d'expansion au survol */
.framer-VjjJg .framer-l4h2sm {
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              height 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              top 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              left 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: width, height, transform;
}

.framer-VjjJg:hover .framer-l4h2sm,
.framer-VjjJg.hover .framer-l4h2sm,
.framer-VjjJg.datalia-btn-hover .framer-l4h2sm {
  width: 900px !important;
  height: 900px !important;
  aspect-ratio: 1 !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  z-index: 1 !important;
}

/* Texte blanc (état normal sur fond sombre) - toujours au-dessus du fond */
.framer-VjjJg .framer-1we5nni {
  position: relative !important;
  z-index: 10 !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease !important;
  opacity: 1 !important;
}

.framer-VjjJg .framer-1we5nni,
.framer-VjjJg .framer-1we5nni p,
.framer-VjjJg .framer-1we5nni span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.framer-VjjJg:hover .framer-1we5nni,
.framer-VjjJg.hover .framer-1we5nni,
.framer-VjjJg.datalia-btn-hover .framer-1we5nni {
  opacity: 0 !important;
}

/* Texte noir (état survol sur fond blanc) - priorité z-index 10 au-dessus du cercle */
.framer-VjjJg .framer-1kbu2rh {
  position: absolute !important;
  top: 16px !important;
  left: 21px !important;
  z-index: 10 !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease !important;
  opacity: 0 !important;
}

.framer-VjjJg .framer-1kbu2rh,
.framer-VjjJg .framer-1kbu2rh p,
.framer-VjjJg .framer-1kbu2rh span {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-weight: 500 !important;
}

.framer-VjjJg:hover .framer-1kbu2rh,
.framer-VjjJg.hover .framer-1kbu2rh,
.framer-VjjJg.datalia-btn-hover .framer-1kbu2rh {
  opacity: 1 !important;
}

/* Wrapper du cercle d'icône */
.framer-VjjJg .framer-ruce74 {
  position: relative !important;
  z-index: 2 !important;
}

/* Cercle de la flèche : blanc en normal, noir au survol */
.framer-VjjJg .framer-mxyqcb {
  position: relative !important;
  z-index: 12 !important;
  background-color: #ffffff !important;
  transition: background-color 0.3s ease !important;
}

.framer-VjjJg:hover .framer-mxyqcb,
.framer-VjjJg.hover .framer-mxyqcb,
.framer-VjjJg.datalia-btn-hover .framer-mxyqcb {
  background-color: #000000 !important;
}

/* Icône flèche : rotation et inversion de couleur (noir -> blanc au survol) */
.framer-VjjJg .framer-fnypoo-container {
  transform: rotate(-45deg);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.framer-VjjJg .framer-fnypoo-container svg,
.framer-VjjJg .framer-fnypoo-container svg path {
  color: #000000 !important;
  fill: #000000 !important;
  transition: color 0.3s ease, fill 0.3s ease !important;
}

.framer-VjjJg:hover .framer-fnypoo-container,
.framer-VjjJg.hover .framer-fnypoo-container,
.framer-VjjJg.datalia-btn-hover .framer-fnypoo-container {
  transform: rotate(0deg) !important;
}

.framer-VjjJg:hover .framer-fnypoo-container svg,
.framer-VjjJg:hover .framer-fnypoo-container svg path,
.framer-VjjJg.hover .framer-fnypoo-container svg,
.framer-VjjJg.hover .framer-fnypoo-container svg path,
.framer-VjjJg.datalia-btn-hover .framer-fnypoo-container svg,
.framer-VjjJg.datalia-btn-hover .framer-fnypoo-container svg path {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* ==================== DATALIA UNIVERSAL MOBILE RESPONSIVE SYSTEM ==================== */

/* ==========================================================================
   DESKTOP VIEWPORT (>= 810px) : STRICTEMENT DESKTOP ONLY
   ========================================================================== */
@media (min-width: 810px) {
  /* Conteneurs Header Desktop */
  .framer-1u9zwl1-container,
  .framer-1bcsjuw-container,
  .framer-1sbex97-container,
  .framer-nxpdfp-container,
  .datalia-sur-mesure-header-wrap,
  [data-datalia-header="true"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    z-index: 99999 !important;
    box-sizing: border-box !important;
  }

  /* Nav Desktop : centrée, 1200px max */
  nav.framer-RxP9F[data-framer-name="Desktop"],
  nav.framer-RxP9F.framer-v-uu10w4,
  .datalia-nav-desktop-wrap nav,
  .datalia-nav-desktop-wrap {
    display: flex !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

    /* Footer Desktop STRICTEMENT VISIBLE SUR DESKTOP */
  footer[data-framer-name="Desktop"],
  footer.framer-v-neae8z,
  .datalia-footer-desktop-wrap {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
  }

  /* Footer Mobile STRICTEMENT MASQUE SUR DESKTOP */
  footer[data-framer-name="Phone"],
  footer.framer-v-gitkdr,
  .datalia-footer-phone-wrap,
  .ssr-variant:has(footer[data-framer-name="Phone"]),
  .hidden-1eu6x51,
  .hidden-1m2vr1t {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* INTERDICTION ABSOLUE D'AFFICHER LA NAVIGATION OU LE FOOTER MOBILE SUR DESKTOP */
  .framer-1lzo2b0-container,
  .framer-1lzo2b0-container nav,
  nav.framer-RxP9F[data-framer-name="Phone"],
  nav.framer-RxP9F.framer-v-1qcgwg6,
  nav.framer-RxP9F[data-framer-name="Phone Open"],
  nav.framer-RxP9F.framer-v-e418qo,
  .datalia-nav-phone-wrap,
  .datalia-nav-phone-open-wrap,
  .datalia-footer-phone-wrap,
  [data-framer-name="Phone"],
  [data-framer-name="Phone Open"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

/* ==========================================================================
   MOBILE VIEWPORT (< 810px) : STRICTEMENT MOBILE ONLY
   ========================================================================== */
@media (max-width: 809.98px) {
  html, body, #main, .framer-nLVvf {
    overflow-x: clip !important;
    max-width: 100vw !important;
  }
  .datalia-erp-hero-bottom-fade {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  /* INTERDICTION ABSOLUE D'AFFICHER LA NAVIGATION OU LE FOOTER DESKTOP SUR MOBILE */
  .framer-1bcsjuw-container,
  nav.framer-RxP9F[data-framer-name="Desktop"],
  nav.framer-RxP9F.framer-v-uu10w4,
  nav.framer-S6f3p,
  nav.framer-S6f3p[data-framer-name="Desktop"],
  .datalia-nav-desktop-wrap,
    /* Footer Desktop STRICTEMENT MASQUE SUR MOBILE */
  footer[data-framer-name="Desktop"],
  footer.framer-v-neae8z,
  .datalia-footer-desktop-wrap,
  .ssr-variant:has(footer[data-framer-name="Desktop"]),
  .hidden-15rmxdj {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* Footer Mobile STRICTEMENT VISIBLE SUR MOBILE */
  footer[data-framer-name="Phone"],
  footer.framer-v-gitkdr,
  .datalia-footer-phone-wrap {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
  }
  .datalia-nav-desktop-wrap { display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* ERP Header mobile stacking context fix */
  .framer-1ea87ug {
    position: static !important;
    z-index: 99999 !important;
  }
  .framer-3wp38w {
    position: static !important;
    z-index: auto !important;
  }

  /* Masquage Header Mobile fluide */
  .framer-1u9zwl1-container.datalia-header-hidden,
  .framer-1sbex97-container.datalia-header-hidden,
  .framer-nxpdfp-container.datalia-header-hidden,
  .framer-1lzo2b0-container.datalia-header-hidden,
  .datalia-sur-mesure-header-wrap.datalia-header-hidden,
  .datalia-nav-phone-wrap.datalia-header-hidden,
  [data-datalia-header="true"].datalia-header-hidden {
    transform: translateY(-110%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Conteneur Header Mobile */
  .framer-1u9zwl1-container,
  .framer-1sbex97-container,
  .framer-nxpdfp-container,
  .framer-1lzo2b0-container,
  .datalia-sur-mesure-header-wrap,
  [data-datalia-header="true"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 64px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    z-index: 99999 !important;
  }

  /* Nav Phone fermée (64px) */
  nav.framer-RxP9F[data-framer-name="Phone"],
  nav.framer-RxP9F.framer-v-1qcgwg6,
  .datalia-nav-phone-wrap nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .datalia-nav-phone-wrap {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    padding: 0 16px !important;
    height: 64px !important;
    min-height: 64px !important;
    overflow: hidden !important;
    z-index: 99999 !important;
  }

  /* Barre Phone fermée : Logo à gauche, burger à droite */
  nav.framer-RxP9F.framer-v-1qcgwg6 .framer-ol4uh8,
  nav.framer-RxP9F[data-framer-name="Phone"] .framer-ol4uh8,
  .datalia-nav-phone-wrap .framer-ol4uh8 {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    height: 64px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Tiroir Mobile Phone Open plein écran */
  .datalia-nav-phone-open-wrap {
    display: none !important;
  }

  body.datalia-mobile-open .datalia-nav-phone-open-wrap {
    display: flex !important;
  }

  nav.framer-RxP9F[data-framer-name="Phone Open"],
  nav.framer-RxP9F.framer-v-e418qo,
  .datalia-nav-phone-open-wrap nav,
  .datalia-nav-phone-open-wrap {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    box-sizing: border-box !important;
    z-index: 100000 !important;
    background: rgba(5, 7, 20, 0.98) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    overflow-y: auto !important;
    padding: 0 16px 40px !important;
  }

  body.datalia-mobile-open {
    overflow: hidden !important;
  }

  /* Footer Mobile */
  .datalia-footer-phone-wrap {
    display: block !important;
    width: 100% !important;
    visibility: visible !important;
  }

  /* Empilement vertical propre du Footer Mobile */
  .framer-130tns3-container,
  footer.framer-2gz2r,
  .datalia-sur-mesure-footer-wrap,
  .datalia-sur-mesure-footer-wrap footer {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    position: relative !important;
    opacity: 1 !important;
    padding-top: 20px !important;
    padding-bottom: 40px !important;
  }

  footer.framer-2gz2r .framer-89obpt,
  footer.framer-2gz2r .framer-1wfftnw,
  footer.framer-2gz2r .framer-1t4p2y,
  footer.framer-2gz2r .framer-bha1cu,
  .datalia-sur-mesure-footer-wrap .framer-89obpt,
  .datalia-sur-mesure-footer-wrap .framer-1wfftnw {
    opacity: 1 !important;
    transform: none !important;
  }

  .framer-2gz2r .framer-bha1cu,
  .datalia-sur-mesure-footer-wrap footer .framer-bha1cu {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 24px 20px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  .framer-2gz2r .framer-cporkc,
  .framer-cporkc,
  .datalia-sur-mesure-footer-wrap footer .framer-cporkc {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    order: 1 !important;
  }

  .framer-2gz2r .framer-13c36sm,
  .framer-2gz2r .framer-1vuh512,
  .framer-2gz2r .framer-1jg06hz,
  .framer-2gz2r .framer-18ll0co,
  .datalia-sur-mesure-footer-wrap footer .framer-13c36sm,
  .datalia-sur-mesure-footer-wrap footer .framer-1vuh512,
  .datalia-sur-mesure-footer-wrap footer .framer-1jg06hz,
  .datalia-sur-mesure-footer-wrap footer .framer-18ll0co {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    flex: none !important;
    gap: 10px !important;
  }

  .framer-2gz2r .framer-cporkc a,
  .framer-2gz2r .framer-cporkc p,
  .framer-2gz2r .framer-cporkc span {
    font-size: 17px !important;
    line-height: 1.6 !important;
    white-space: normal !important;
    text-align: left !important;
  }

  .framer-2gz2r .framer-89obpt,
  .framer-89obpt,
  .datalia-sur-mesure-footer-wrap footer .framer-89obpt {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-top: 24px !important;
  }

  .framer-2gz2r .framer-17djwga,
  .framer-17djwga {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    width: auto !important;
    height: 30px !important;
    position: relative !important;
  }

  .framer-2gz2r .framer-1spex7x,
  .framer-1spex7x {
    width: 38px !important;
    height: 26px !important;
    position: relative !important;
    flex: none !important;
  }

  .framer-2gz2r .framer-q26oos,
  .framer-q26oos {
    width: 110px !important;
    height: 22px !important;
    position: relative !important;
    flex: none !important;
  }

  .framer-89obpt .framer-1spex7x img,
  .framer-2gz2r .framer-1spex7x img {
    width: 38px !important;
    height: 26px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .framer-89obpt .framer-q26oos img,
  .framer-2gz2r .framer-q26oos img {
    width: 110px !important;
    height: 22px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .framer-2gz2r .framer-1bgrscb,
  .framer-1bgrscb {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    margin-top: 10px !important;
  }
  .framer-2gz2r .framer-1bgrscb h4,
  .framer-2gz2r .framer-1bgrscb p,
  .framer-2gz2r .framer-19wdgqt {
    font-size: 17px !important;
    text-align: left !important;
    width: 100% !important;
    color: rgba(255, 255, 255, 0.75) !important;
  }

  .framer-2gz2r .framer-145g2kz,
  .framer-145g2kz {
    order: 3 !important;
    width: 100% !important;
    margin-top: 16px !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.45) !important;
  }

  /* Vidéos ERP et Sur Mesure en plein format mobile */
  .framer-1kga82q:not(.datalia-video-section) {
    min-height: auto !important;
    height: auto !important;
    padding-bottom: 20px !important;
  }
  .framer-163cnt8,
  .framer-1kga82q:not(.datalia-video-section) > .framer-163cnt8 {
    position: relative !important;
    height: auto !important;
    min-height: 420px !important;
  }
  .datalia-erp-hero-stage {
    min-height: 420px !important;
    height: auto !important;
    padding: 85px 12px 20px !important;
  }
  .datalia-erp-hero-graphic {
    width: 96% !important;
    max-width: 440px !important;
  }

  .framer-knV2p.framer-vlevc4,
  .framer-knV2p.framer-v-1592oto.framer-vlevc4,
  .framer-knV2p.framer-v-16904j1.framer-vlevc4 {
    min-height: auto !important;
    height: auto !important;
    padding: 85px 12px 24px !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  .framer-knV2p .framer-edjs39,
  .framer-knV2p.framer-v-1592oto .framer-edjs39,
  .framer-knV2p.framer-v-16904j1 .framer-edjs39 {
    width: 96% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
  }
}

/* ==========================================================================
   VIDÉOS ERP ET SUR MESURE SUR ORDINATEUR (>= 810px)
   ========================================================================== */
@media (min-width: 810px) {
  .datalia-erp-hero-stage {
    width: 100% !important;
    max-width: 1200px !important;
    min-height: auto !important;
    padding: 110px 20px 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  .datalia-erp-hero-graphic {
    width: 58% !important;
    max-width: 700px !important;
    aspect-ratio: 1.57075 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
    will-change: transform, opacity !important;
    transform-origin: center center !important;
    margin: 0 auto !important;
  }

  .framer-knV2p .framer-edjs39 {
    width: 56% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }

  .datalia-sur-mesure-tablet-video-wrap {
    position: absolute !important;
    inset: 5px !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, #050b24 0%, #0b165c 55%, #152299 100%) !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
  }

  body.datalia-sur-mesure-scrolled-past-hero .datalia-sur-mesure-tablet-video-wrap,
  body.datalia-sur-mesure-scrolled-past-hero #datalia-sur-mesure-tablet-video-wrap {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.datalia-sur-mesure-scrolled-past-hero .framer-KXs75 .framer-8v5frf-container,
  body.datalia-sur-mesure-scrolled-past-hero .framer-8v5frf-container {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
  }

  .datalia-sur-mesure-tablet-video-wrap video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 9px !important;
  }
}


/* ==================== SUR MESURE HERO MOBILE COMPACT FIX ==================== */
@media (max-width: 809.98px) {
  #hero,
  .framer-vej1f9,
  .framer-8v5frf-container,
  .framer-knV2p,
  .framer-knV2p.framer-vlevc4,
  .framer-knV2p.framer-v-1592oto.framer-vlevc4 {
    min-height: auto !important;
    height: auto !important;
    padding-top: 75px !important;
    padding-bottom: 10px !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  #hero .framer-5d2a2s {
    display: none !important;
    height: 0 !important;
  }

  .framer-mpdjrl,
  #report {
    height: auto !important;
    min-height: auto !important;
    padding: 10px 16px 30px !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .framer-mpdjrl *,
  #report * {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
}


/* ==================== HERO STICKY FIX SUR MESURE MOBILE ==================== */
@media (max-width: 809.98px) {
  .framer-8v5frf-container {
    min-height: auto !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
  }
  #hero .framer-5d2a2s,
  #scroll-section-1 {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #hero #report,
  #hero .framer-mpdjrl {
    top: auto !important;
    margin-top: 10px !important;
  }
}


/* ==================== HIGH SPECIFICITY SUR MESURE HERO FIX ==================== */
@media (max-width: 809.98px) {
  .framer-KXs75 .framer-8v5frf-container,
  .framer-8v5frf-container,
  div.framer-8v5frf-container {
    min-height: 0px !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
  }
  .framer-KXs75 .framer-5d2a2s,
  .framer-5d2a2s,
  #scroll-section-1 {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ==========================================================================
   DATALIA FOOTER - GARANTIE DE CLIQUABILITÉ UNIVERSELLE (Desktop & Mobile)
   Neutralise les calques de fond décoratifs qui recouvraient les liens du footer
   ========================================================================== */
footer .framer-1rya8v6,
footer .framer-mscl7d,
footer [data-framer-name="Dot Pattern"],
footer [data-framer-background-image-wrapper="true"],
.datalia-sur-mesure-footer-wrap .framer-1rya8v6,
.datalia-sur-mesure-footer-wrap .framer-mscl7d {
  pointer-events: none !important;
}

footer .framer-bha1cu,
footer .framer-cporkc,
footer .framer-18ll0co,
footer .framer-1wfftnw,
footer .framer-1t4p2y,
footer .framer-13c36sm,
footer .framer-1vuh512,
footer .framer-1jg06hz,
footer .framer-16l6tnu,
footer .framer-10ijvov,
footer .framer-ha9qgx,
footer .framer-145g2kz,
footer a,
footer button,
footer .__framer-cookie-component-button {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Le wrapper plein écran du header sur mesure ne doit pas bloquer les clics */
.datalia-sur-mesure-header-wrap {
  pointer-events: none !important;
  z-index: 999999 !important;
}

.datalia-sur-mesure-header-wrap nav,
.datalia-sur-mesure-header-wrap a,
.datalia-sur-mesure-header-wrap button,
.datalia-sur-mesure-header-wrap .framer-1sbex97-container nav,
.datalia-nav-phone-wrap nav,
.datalia-nav-phone-wrap a,
.datalia-nav-phone-wrap button,
.datalia-nav-phone-open-wrap nav,
.datalia-nav-phone-open-wrap a,
.datalia-nav-phone-open-wrap button {
  pointer-events: auto !important;
  cursor: pointer !important;
}

.datalia-sur-mesure-header-wrap.datalia-header-hidden,
.datalia-sur-mesure-header-wrap.datalia-header-hidden *,
.datalia-nav-phone-wrap.datalia-header-hidden,
.datalia-nav-phone-wrap.datalia-header-hidden * {
  pointer-events: none !important;
}

/* ==========================================================================
   DATALIA FOOTER - MOBILE ONLY REORGANIZATION (< 810px)
   Organisation et séparation claire en mode téléphone :
   1. Pages de navigation (grille 2 colonnes ordonnée)
   2. Réseaux sociaux (grille 2 colonnes avec séparateur)
   3. Pages légales & confidentialité (liste dédiée avec séparateur)
   Strictement inactif en mode Ordinateur (min-width: 810px).
   ========================================================================== */
@media (max-width: 809.98px) {
  /* Conteneurs de colonnes sur mobile */
  html body footer .framer-cporkc,
  html body footer .framer-18ll0co {
    display: flex !important;
    flex-direction: column !important;
    gap: 0px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 1. SECTION PAGES DE NAVIGATION */
  html body footer .framer-13c36sm {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 26px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  html body footer .framer-13c36sm::before {
    content: "Navigation";
    display: block;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #009cff;
    margin-bottom: 16px;
  }
  html body footer .framer-13c36sm .framer-16l6tnu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 2. SECTION RÉSEAUX SOCIAUX */
  html body footer .framer-1vuh512 {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 26px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  html body footer .framer-1vuh512::before {
    content: "Réseaux Sociaux";
    display: block;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #009cff;
    margin-bottom: 16px;
  }
  html body footer .framer-1vuh512 .framer-10ijvov {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 3. SECTION PAGES LÉGALES */
  html body footer .framer-1jg06hz {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  html body footer .framer-1jg06hz::before {
    content: "Pages Légales";
    display: block;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #009cff;
    margin-bottom: 16px;
  }
  html body footer .framer-1jg06hz .framer-ha9qgx {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Liens et typographie mobile */
  html body footer .framer-cporkc a {
    font-size: 15px !important;
    line-height: 22px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
    transition: color 0.15s ease, opacity 0.15s ease !important;
  }
  html body footer .framer-1jg06hz a {
    font-size: 14px !important;
    line-height: 20px !important;
    color: rgba(255, 255, 255, 0.65) !important;
  }
  html body footer .framer-kh6443-container {
    margin-top: 6px !important;
  }
}


/* ========================================================
   DATALIA I18N HORIZONTAL FLAG TOGGLE (header, phone menu, footer)
   Markup: assets/datalia-i18n.js (createToggle)
   ======================================================== */
.datalia-lang-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 25 !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.datalia-lang-pill {
  --pill-slot: 28px;
  position: relative !important;
  width: calc(var(--pill-slot) * 2 + 6px) !important;
  height: calc(var(--pill-slot) + 6px) !important;
  margin: 0 !important;
  padding: 2px !important;
  background: #18181a !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 9999px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5), inset 0 1px 1px rgba(255, 255, 255, 0.1) !important;
  transition: border-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease !important;
}

.datalia-lang-pill:hover {
  border-color: rgba(255, 255, 255, 0.35) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.65), inset 0 1px 1px rgba(255, 255, 255, 0.18) !important;
}

.datalia-lang-pill:focus-visible {
  border-color: rgba(255, 255, 255, 0.6) !important;
}

.datalia-pill-thumb {
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: var(--pill-slot) !important;
  height: var(--pill-slot) !important;
  border-radius: 9999px !important;
  background: #f4f5f7 !important;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.45) !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* FR on the left, EN on the right. The thumb moves by exactly one slot: the slots sit
   edge to edge inside the 2px padding, so any extra offset pushes the flag off-centre. */
.datalia-lang-pill.is-fr .datalia-pill-thumb {
  transform: translateX(0) !important;
}

.datalia-lang-pill.is-en .datalia-pill-thumb {
  transform: translateX(var(--pill-slot)) !important;
}

.datalia-pill-slot {
  position: relative !important;
  flex: 0 0 var(--pill-slot) !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 2 !important;
  width: var(--pill-slot) !important;
  height: var(--pill-slot) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
}

.datalia-flag-svg {
  display: block !important;
  width: 18px !important;
  height: 13px !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
  pointer-events: none !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease !important;
}

.datalia-lang-pill.is-en .datalia-pill-en .datalia-flag-svg,
.datalia-lang-pill.is-fr .datalia-pill-fr .datalia-flag-svg {
  transform: scale(1.06) !important;
  opacity: 1 !important;
}

.datalia-lang-pill.is-en .datalia-pill-fr .datalia-flag-svg,
.datalia-lang-pill.is-fr .datalia-pill-en .datalia-flag-svg {
  opacity: 0.7 !important;
}

/* Header (desktop): right of the Contact button, vertically centred in the nav row */
nav[data-framer-name] > .datalia-lang-toggle {
  align-self: center !important;
  order: 99 !important;
}
nav[data-framer-name] > .datalia-lang-toggle .datalia-lang-pill {
  --pill-slot: 32px;
}

/* Tablet (Framer "Desktop" variant from 810px): the nav links are already tight there,
   so the toggle gets smaller and, below 980px, the DATALIA wordmark gives way to the icon. */
@media (min-width: 810px) and (max-width: 1023px) {
  nav[data-framer-name="Desktop"] {
    gap: 8px !important;
  }
  nav[data-framer-name="Desktop"] > [data-framer-name="Links"] {
    gap: 10px !important;
  }
  nav[data-framer-name="Desktop"] > .datalia-lang-toggle .datalia-lang-pill {
    --pill-slot: 26px;
  }
}
@media (min-width: 810px) and (max-width: 979px) {
  nav[data-framer-name="Desktop"] [data-framer-name="Datalia 2"] {
    display: none !important;
  }
  nav[data-framer-name="Desktop"] > [data-framer-name="Name"],
  nav[data-framer-name="Desktop"] > [data-framer-name="Name"] > a {
    width: auto !important;
  }
}

@media (min-width: 810px) and (max-width: 859px) {
  nav[data-framer-name="Desktop"] > [data-framer-name="Links"] {
    gap: 7px !important;
  }
}

/* Phone, menu closed: only logo + burger */
nav[data-framer-name="Phone"] > .datalia-lang-toggle {
  display: none !important;
}

/* Phone, menu open: centred under the Contact button, a little larger for touch */
nav[data-framer-name="Phone Open"] > .datalia-lang-toggle {
  margin-top: 18px !important;
}

/* Footer layout integration */
footer [data-framer-name="Copyright"] {
  display: flex !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 811px) {
  footer [data-framer-name="Copyright"] {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}

@media (max-width: 810px) {
  footer [data-framer-name="Copyright"] {
    flex-direction: column-reverse !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    padding-top: 14px !important;
    margin-top: 8px !important;
    width: 100% !important;
    text-align: center !important;
  }
  footer .datalia-lang-toggle {
    margin: 0 auto !important;
  }
}
