.elementor-kit-6{--e-global-color-primary:#0888D8;--e-global-color-secondary:#18A8E8;--e-global-color-text:#1E293B;--e-global-color-accent:#A8CB0E;--e-global-color-aaaa5aa:#0888D8;--e-global-color-bc67a23:#18A8E8;--e-global-color-3c7243e:#A8CB0E;--e-global-color-31520e8:#14260A;--e-global-color-fbec996:#0B2233;--e-global-color-45c1890:#081A28;--e-global-color-7133245:#0E2C41;--e-global-color-f0b2af9:#163A54;--e-global-color-8892760:#0B2233;--e-global-color-f37cead:#475569;--e-global-color-e91670d:#64748B;--e-global-color-3dcb47e:#334155;--e-global-color-8591407:#9FB6C6;--e-global-color-234543d:#F5F7FA;--e-global-color-bd53d04:#F8FAFC;--e-global-color-ec2802d:#EFF7FC;--e-global-color-c0ee581:#E8EDF2;--e-global-color-a9c791e:#E2E8F0;--e-global-color-43fdff7:#2E7D32;--e-global-color-63acdea:#C62828;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Space Grotesk";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-weight:400;--e-preloader-animation:jello;--e-preloader-animation-duration:1500ms;--e-preloader-delay:0ms;--e-preloader-width:5%;--e-preloader-max-width:5%;--e-preloader-opacity:0.8;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#006AAD;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;text-transform:none;letter-spacing:0.5px;color:#000000;border-radius:6px 6px 6px 6px;padding:14px 28px 14px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#004D80;}.elementor-kit-6 e-page-transition{background-color:#02010100;}.elementor-kit-6 h1{font-size:48px;font-weight:700;line-height:1.2px;}.elementor-kit-6 h2{font-size:36px;font-weight:700;line-height:1.25px;}.elementor-kit-6 h3{font-size:28px;font-weight:600;line-height:1.3px;}.elementor-kit-6 h4{font-size:22px;font-weight:600;line-height:1.35px;}.elementor-kit-6 h5{font-size:18px;font-weight:600;line-height:1.4px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6 h1{font-size:32px;}.elementor-kit-6 h2{font-size:26px;line-height:1.25px;}.elementor-kit-6 h3{font-size:22px;line-height:1.3px;}.elementor-kit-6 h4{font-size:20px;line-height:1.35px;}.elementor-kit-6 h5{font-size:17px;line-height:1.4px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:768px;}.e-con{--container-max-width:768px;}}
/* Start custom CSS *//* ============================================
   Grid Networks — CSS Global
   À coller dans : Elementor > Paramètres du site > CSS personnalisé
   ============================================ */

/* --- Custom Properties --- */
:root {
  /* Couleurs primaires (Bleu Cyan) */
  --color-cyan-light: #25B3E6;
  --color-cyan: #0087DD;
  --color-cyan-text: #0070B8;
  --color-cyan-deep: #006AAD;
  --color-cyan-dark: #004D80;

  /* Couleurs accent (Vert Lime) */
  --color-lime-bright: #BFDB00;
  --color-lime-medium: #799612;
  --color-lime-text: #4D6B00;
  --color-lime-dark: #3D5600;

  /* Neutres */
  --color-white: #FFFFFF;
  --color-gray-pearl: #F5F5F5;
  --color-gray-light: #E8E8E8;
  --color-gray-text: #666666;
  --color-gray-placeholder: #999999;
  --color-anthracite: #333333;
  --color-dark: #1A1A2E;

  /* Utilitaires */
  --color-cyan-very-light: #F0F7FF;

  /* États */
  --color-success: #2E7D32;
  --color-error: #C62828;
  --color-warning: #F57F17;

  /* Typographie */
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Source Sans 3', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Ombres */
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-card-hover: 0 4px 16px rgba(0, 0, 0, 0.12);
  --shadow-header: 0 1px 4px rgba(0, 0, 0, 0.08);
  --shadow-menu: 0 8px 24px rgba(0, 0, 0, 0.12);

  /* Arrondis */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;

  /* Espacements */
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-3xl: 80px;
  --space-4xl: 120px;

  /* Conteneur */
  --container-max: 1200px;
  --container-padding: 40px;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-base: 0.25s ease;
  --transition-slow: 0.3s ease;
}

@media (max-width: 1023px) {
  :root {
    --container-padding: 24px;
  }
}

@media (max-width: 767px) {
  :root {
    --container-padding: 16px;
    --space-xl: 32px;
    --space-2xl: 48px;
    --space-3xl: 48px;
    --space-4xl: 64px;
  }
}

/* --- Accessibilité : reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .elementor-motion-effects-element,
  .elementor-motion-effects-container {
    transform: none !important;
  }
}

/* --- Focus visible pour accessibilité clavier --- */
*:focus-visible {
  outline: 3px solid #25B3E6;
  outline-offset: 2px;
}

/* --- Skip to content (accessibilité) --- */
.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 99999;
  background: #006AAD;
  color: #FFFFFF;
  padding: 12px 24px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 6px 0;
}
.skip-to-content:focus {
  left: 0;
}

/* --- Smooth scroll (sauf si reduced motion) --- */
html {
  scroll-behavior: smooth;
}

/* --- Empêcher les images de déborder --- */
img {
  max-width: 100%;
  height: auto;
}

/* --- Style des liens dans le contenu éditorial --- */
.elementor-widget-text-editor a {
  color: var(--color-cyan-text);
  text-decoration: none;
  transition: color 0.2s ease;
}
.elementor-widget-text-editor a:hover {
  color: var(--color-cyan-dark);
  text-decoration: underline;
}

/* --- Cartes : hover effect --- */
.gn-card {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.gn-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
}

/* --- Boutons : micro-interaction hover --- */
.elementor-button {
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.elementor-button:hover {
  transform: translateY(-1px);
}

/* --- Badge catégorie TechHub --- */
.gn-badge-category {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  background: var(--color-cyan-very-light);
  color: var(--color-cyan-deep);
}

/* --- Badge "Hébergé en France" --- */
.gn-badge-france {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  background: var(--color-cyan-deep);
  color: #FFFFFF;
}

/* --- Badge certification/partenaire --- */
.gn-badge-partner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-gray-pearl);
  border: 1px solid var(--color-gray-light);
  border-radius: var(--radius-sm);
  padding: 8px 16px;
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-anthracite);
}

/* --- Fil d'Ariane (Breadcrumb) --- */
.gn-breadcrumb {
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--color-gray-text);
}
.gn-breadcrumb a {
  color: var(--color-cyan-text);
  text-decoration: none;
}
.gn-breadcrumb a:hover {
  color: var(--color-cyan-dark);
  text-decoration: underline;
}
.gn-breadcrumb .separator {
  color: var(--color-gray-text);
  margin: 0 8px;
}

/* --- Compteurs animés (page d'accueil) --- */
.gn-counter {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
}

/* --- Encart note (bordure lime gauche) --- */
.gn-note {
  background: var(--color-gray-pearl);
  border-left: 4px solid var(--color-lime-bright);
  padding: 20px 24px;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

/* --- FAQ Accordéon --- */
.gn-faq .elementor-accordion-item {
  border: 1px solid var(--color-gray-light);
  border-radius: var(--radius-md);
  margin-bottom: 8px;
}
.gn-faq .elementor-tab-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: var(--color-anthracite);
  padding: 16px 20px;
}
.gn-faq .elementor-tab-title:hover {
  color: var(--color-cyan-deep);
}
.gn-faq .elementor-tab-content {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-anthracite);
  padding: 0 20px 16px;
}

/* --- Section CTA Bleu --- */
.gn-cta-blue {
  background: var(--color-cyan-deep);
  color: #FFFFFF;
  text-align: center;
}
.gn-cta-blue h3 {
  color: #FFFFFF;
}
.gn-cta-blue .elementor-button {
  background: #FFFFFF;
  color: var(--color-cyan-deep);
}
.gn-cta-blue .elementor-button:hover {
  background: var(--color-lime-bright);
  color: var(--color-anthracite);
}

/* --- Section CTA Gris --- */
.gn-cta-gray {
  background: var(--color-gray-pearl);
  text-align: center;
}

/* --- Footer --- */
.gn-footer {
  background: var(--color-dark);
}
.gn-footer h4,
.gn-footer h5 {
  color: #FFFFFF;
}
.gn-footer p,
.gn-footer li {
  color: rgba(255, 255, 255, 0.7);
}
.gn-footer a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.2s ease;
}
.gn-footer a:hover {
  color: var(--color-lime-bright);
}
.gn-footer .separator-line {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* --- Article TechHub (single post) --- */
.gn-article-body {
  max-width: 720px;
  margin: 0 auto;
}
.gn-article-body p {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-anthracite);
}
.gn-article-body h2 {
  margin-top: 2em;
}
.gn-article-body h3 {
  margin-top: 1.5em;
}
.gn-article-body blockquote {
  border-left: 4px solid var(--color-lime-bright);
  padding-left: 24px;
  background: var(--color-gray-pearl);
  padding: 16px 24px;
  font-style: italic;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

/* --- Formulaire (JetFormBuilder) --- */
.gn-form .jet-form-builder__field {
  border: 1px solid var(--color-gray-light);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 16px;
  color: var(--color-anthracite);
  transition: border-color 0.2s ease;
}
.gn-form .jet-form-builder__field:focus {
  border: 2px solid var(--color-cyan-text);
  outline: none;
}
.gn-form .jet-form-builder__field.error {
  border: 2px solid var(--color-error);
}
.gn-form .jet-form-builder__label {
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-anthracite);
  margin-bottom: 4px;
}
.gn-form ::placeholder {
  color: var(--color-gray-placeholder);
}

/* --- Page 404 --- */
.gn-404-code {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 120px;
  color: var(--color-gray-light);
  line-height: 1;
}
@media (max-width: 767px) {
  .gn-404-code {
    font-size: 80px;
  }
}

/* GN-CUSTOM-START */
.jet-mega-menu-item__link--top-level{color:#334155 !important;font-family:'IBM Plex Sans',sans-serif;font-weight:500;}
.jet-mega-menu-item__link--top-level:hover,.jet-mega-menu-item--current-menu-item>.jet-mega-menu-item__inner>.jet-mega-menu-item__link--top-level,.jet-mega-menu-item--active>.jet-mega-menu-item__inner>.jet-mega-menu-item__link--top-level{color:#0888D8 !important;}
.jet-mega-menu-item__dropdown{background:#ffffff !important;border-top:3px solid #0888D8;box-shadow:0 8px 24px rgba(0,0,0,0.12);}
.jet-mega-menu-item__link--sub-level{color:#334155 !important;font-family:'IBM Plex Sans',sans-serif;}
.jet-mega-menu-item__link--sub-level:hover{color:#0888D8 !important;background:#F8FAFC;}
@keyframes gn-spin{to{transform:rotate(360deg);}}
.gn-gear .elementor-icon i,.gn-gear .elementor-icon svg{animation:gn-spin 9s linear infinite;transform-origin:50% 50%;}
@keyframes gn-progress{0%{transform:translateX(-130%);}100%{transform:translateX(430%);}}
.gn-progress-bar{animation:gn-progress 2.2s ease-in-out infinite;}
/* GN-CUSTOM-END *//* End custom CSS */