    /* --- Styles généraux --- */
    body {
      margin: 0;
      font-family: 'Segoe UI', Tahoma, sans-serif;
      background: linear-gradient(135deg, #0a2540, #1f3b73);
      color: white;
      display: flex;
      flex-direction: column;
      min-height: 100vh;
    }

/* --- HEADER --- */
    header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px 30px;
    }
    .logo {
      max-width: 150px;
    }
    .insert {
      max-width: 150px;
    }
    .header-text {
      font-size: 20px;
      font-weight: bold;
    }
    .construction {
      font-size: 24px; /* augmente ou diminue la taille */
      font-weight: bold; /* si tu veux le texte en gras */
    }
/* --- HEADER --- */

/* --- index_nda.html --- */
    /* Conteneur central pour le NDA */
.nda-container {
  background-color: white;
  color: #000;               /* texte noir pour impression */
  max-width: 800px;           /* largeur proche A4 */
  margin: 40px auto;          /* centré horizontalement avec un peu d'espace vertical */
  padding: 40px;              /* marges intérieures */
  box-shadow: 0 0 10px rgba(0,0,0,0.2); /* léger effet feuille flottante */
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
.nda-main-title {
  text-align: center;
  font-size: 22px;  /* taille adaptée pour titre principal */
  font-weight: bold;
  margin-bottom: 20px;
}


/* Titres de section */
.nda-title h2 {
  font-size: 14px;
  font-weight: 600;
  margin-top: 25px;
  margin-bottom: 10px;
  color: #000;
}

/* Contenu des paragraphes */
.nda-text {
  margin-bottom: 15px;
}

/* Table signatures */
.nda-table {
  width: 100%;
  margin-top: 30px;
  border-collapse: collapse;
}
.nda-table td {
  vertical-align: top;
  padding: 10px;
}

/* --- index_nda.html --- */

@media print {
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: white !important;
  }
  header, footer, #btnRetourAccueil {
    display: none !important;  /* masque tout ce qui n'est pas NDA */
  }

  .nda-container {
    width: 100%;
    max-width: 170mm;   /* largeur imprimable réelle A4 */
    height: auto;
    margin: 0 auto;
    padding: 20px 30px;
    background: white;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px;
    line-height: 1.25;
    page-break-after: auto;
    page-break-inside: avoid;
    overflow: hidden;
  }

  .nda-container * {
    font-family: Arial, Helvetica, sans-serif !important;
    color: black !important;
  }
}
/* --- Fin index_nda.html --- */


/* --- index_rgpd.html --- */
    .rgpd-title {
      margin: 10px auto;
      max-width: 1100px;
    }
    .rgpd-title h2 {
      font-size: 1em;
      color: #cecece;
      font-style: normal;
      margin-bottom: 5px;
    }

    .rgpd-texte {
      margin: 15px auto;
      max-width: 1000px;
      font-size: 0.8em;
      font-weight: 300;
      color: #d5d3d3;
      text-align: left;
      margin-top: 5px;
      font-family: Arial, Helvetica, sans-serif;

    }
    .rgpd-texte p {
      line-height: 1.5em;
      margin-bottom: 10px;
    }
    .rgpd-texte a {
      color: #a8c518;        /* ton vert signature */
      text-decoration: none; /* retire le soulignement */
    }

    .rgpd-texte a:hover {
      text-decoration: underline;
      color: #c2e73c;        /* légèrement plus clair au survol */
    }

/* --- Fin index_rgpd.html --- */


/* --- index_sup.html --- */
    .fade-out {
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .fade-in {
      opacity: 1;
      transition: opacity 0.3s ease;
    }

    .sup-container {
      margin: 10px auto;
      max-width: 900px;
    }

    .sup-row {
      display: flex;
      gap: 10px;
      margin-bottom: 10px;
      justify-content: center; /* ← centre les boxes si moins de 3 */
    }

    .sup-box {
      flex: 0 0 250px; /* ← fixe la largeur pour toutes les boxes */
      height: 130px;    /* ← fixe la hauteur pour toutes les boxes */
      padding: 10px;
      border: 1px solid #ccc;
      border-radius: 12px;
      background-color: #ffffff;
      color: #160244;
      font-family: Arial, Helvetica, sans-serif;
      display: flex;
      flex-direction: column; /* empile les éléments */
      justify-content: center;
      align-items: center;
      text-align: center;     /* centre le texte sur plusieurs lignes */
    }

    .sup-note {
      font-size: 0.8em;
      font-weight: 300;
      color: #a3a3a3;
      text-align: right;
      margin-top: 5px;
      margin-right: 10px;
      font-family: Arial, Helvetica, sans-serif;
      font-style: italic; /* 👉 pour donner l’effet note */
    }
/* --- Fin index_sup.html --- */


/* --- index_vision.html --- */
.vision-container {
  margin: 0 40px;    /* marge à droite et gauche */
}
.vision-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* ✅ force les boîtes à s’aligner en haut */
}

.vision-box {
  display: flex;
  flex-direction: column;
  justify-content: center;  /* centre verticalement le contenu */
  text-align: justify;
  font-size: 15px;
  line-height: 1.4;
  padding: 10px;
}
.vision-box p {
  margin-bottom: 10px;
}

/* Layout : 2 rangées x 3 boxes, titre centré au-dessus de chaque box */
.vision-row {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;           /* pour mobile : les boxes passent en colonne */
  align-items: flex-start;   /* aligne les boxes en haut */
}

.vision-wrapper {
  flex: 1 1 28%;             /* prend la même largeur - s'adapte en responsive */
  min-width: 220px;          /* évite des boxes trop étroites sur mobile */
  display: flex;
  flex-direction: column;    /* titre au-dessus + box dessous */
}

/* titre centré au-dessus de la box */
.vision-title {
  display: block;
  text-align: center;
  font-size: 18px;
  color: #a8c518;
  font-weight: 700;
  margin-bottom: 8px;
}

/* contenu de la vignette */
.vision-box {
  height: 160px;
  text-align: justify;
  font-size: 14px;
  line-height: 1.45;
  padding: 12px;
  box-sizing: border-box;
  background-color: #ffffff; /* conserve ton fond blanc des vignettes */
  color: #160244;
  border-radius: 12px;
  border: 1px solid #ccc;
  display: flex;
  align-items: flex-start;   /* texte en haut de la box */
  overflow: hidden;
}

/* responsive : en dessous de 760px, une colonne à 100% */
@media (max-width: 760px) {
  .vision-wrapper { flex-basis: 100%; min-width: auto; }
  .vision-box { height: auto; }
}

/* --- Fin index_vision.html --- */

/* --- index_pwd.html --- */
.pwd-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  font-size: 12px;
  color: #00033e;
}
.pwd {
  display: flex;
  gap: 10px;              /* espace horizontal entre les champs */
  align-items: flex-end;  /* aligne le bas des champs si les labels ont des hauteurs différentes */
}

.pwd > div:nth-child(1) { flex: 2; }
.pwd > div:nth-child(2) { flex: 1.5; }
.pwd > div:nth-child(3) { flex: 2.5; }

.pwd-block label {
  display: block;
  margin-bottom: 5px;     /* espace cohérent entre label et input */
  font-weight: bold;
}

.pwd-block input {
  width: 100%;            /* au lieu de 90% */
  box-sizing: border-box; /* évite les débordements */
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.pwd-column {
  flex: 2;
  background: #d0d0d0;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
}
/* --- Fin index_pwd.html --- */

/* --- index_demo.html --- */
.demoform-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
  font-size: 12px;
  color: #00033e;
}
.demo-grid {
  display: flex;
  gap: 60px;
}
.demo-block input,
.demo-block select {
  width: 90%;
  padding: 6px;
  margin-top: 4px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.demo-block {
  flex: 1;
}
.demo-block label {
  display: block;
  margin-top: 10px;
  font-weight: bold;
}
.democountry {
  display: flex;
  gap: 10px;
}
.demo-form input[type="text"],
.demo-form select {
  height: 28px;
  padding: 5px 8px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
.democountry {
  display: flex;
  gap: 10px;
}

.democountry > div:first-child {
  flex: 0 0 120px;
}

.democountry > div:last-child {
  flex: 0.96 1 0;
}
/* --- Fin index_demo.html --- */

/* --- index_order.html --- */
  .order-container {
    margin: 5px auto;
    max-width: 900px;
  }
  .order-titre {
    font-size: 1.2em;
    font-weight: bold;
    color: #50d5f3;
  }
  .order-contenu {
    font-size: 0.9em;
    color: #b08822;
  }
  .order-lead {
    font-size: 1.2em;
    font-weight: bold;
    color: #9a95a5;
    margin-bottom: 4px;  /* réduit l’espace sous le <p> */
    line-height: 1.2;    /* optionnel, resserre la hauteur de ligne */
  }

    /* Style commun Valider-Annuler */
  button {
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    margin: 8px;
  }
  /* Style spécifique Valider-Annuler */
  .btn-valider {
    background-color: #145d6a;
    color: white;
    font-size: medium;
  }
  .btn-valider:hover {
    background-color: #288ea7;
  }
  .btn-annuler {
    background-color: #582227;
    color: white;
  }
  .btn-annuler:hover {
    background-color: #923740;
  }
    /* État désactivé du bouton Valider */
  .btn-valider:disabled {
      background-color: #ccc;   /* gris clair */
      color: #666;              /* texte gris */
      cursor: not-allowed;      /* curseur interdit */
  }
  /* Optionnel : on garde le hover pour l'état actif uniquement */
  .btn-valider:not(:disabled):hover {
      background-color: #288ea7;
  }
  input[type="text"],
  select {
    height: 2em;     /* même hauteur */
    padding: 0.4em;    /* espace interne */
    font-size: 1em;    /* taille de police uniforme */
    box-sizing: border-box;
  }
/* --- Fin index_order.html --- */

/* --- index_fact.html --- */
/* Container principal */
.form-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  font-size: 12px;
  color: #00033e;
}

/* Layout principal : 2 colonnes */
.payment-form {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

/* Colonne gauche : client */
.client-column {
  flex: 2;
  background: #d0d0d0;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
}

/* Grille interne pour scinder en 2 sous-blocs */
.client-grid {
  display: flex;
  gap: 20px;
}

.client-block {
  flex: 1;
}

.client-block label {
  display: block;
  margin-top: 10px;
  font-weight: bold;
}

.client-block input,
.client-block select {
  width: 100%;
  padding: 6px;
  margin-top: 4px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

/* Colonne droite : paiement + récap */

.side-column h2 {
  margin: 0 0 6px 0;
  font-size: 1.05rem;
  margin-bottom: 5px; /* réduit l'espace sous le titre */
}

.side-column p.one-line {
  margin-top: 0; /* supprime l'espace au-dessus du texte */
}

.side-column .side-actions .btn {
  display: inline-block;
  padding: 8px 12px;
  text-decoration: none;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  background-color: #0b6efd;
  color: #fff;
  font-weight: 600;
  white-space: nowrap; /* empêche le bouton d'étirer le texte */
}

/* Sections encadrées */
.form-section {
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #d0d0d0;
  flex: 1;
}

.form-section h2 {
  margin-bottom: 10px;
  font-size: 1.2em;
}

/* Récap coloré */
.recap {
  background: #d0d0d0;
  border: 1px solid #cce7ff;
}

section.recap p {
  display: grid;
  grid-template-columns: 80px auto;
  column-gap: 10px;
}
.recap p {
  font-size: 14px; /* ou 16px si tu veux plus grand */
}
.recap span {
  font-size: 12px; /* un peu plus grand que le label */
  font-weight: 600; /* optionnel, pour faire ressortir la valeur */
}

/* Boutons bas de page */
.form-actions {
  text-align: center;
  margin-top: 20px;
}

/* Texte forcé en une seule ligne */
.one-line {
  white-space: nowrap;
}
.inline-fields {
  display: flex;
  gap: 10px;
}

.inline-fields div {
  flex: 1;
}

.payment-form h2 {
  font-size: 1.05rem; /* ou 14px selon ce que tu veux */
  font-weight: bold;
  margin-bottom: 10px;
}
/* --- Fin index_fact.html --- */

/* --- index_tarifs.html --- */
.tarifs-container {
  margin: 10px auto;
  max-width: 900px;
}

.tarifs-row {
  display: flex;
  gap: 20px;
  margin-bottom: 10px;
}

.tarif-box {
  flex: 1;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 12px;
  background-color: #838ce1;
  color: #160244;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;  /* <-- ça centre tout le contenu */
}

.tarif-box h2 {
  margin-top: 0;
  font-size: 18px;
  font-weight: bold;
}

.tarif-box p {
  font-size: 14px;
  margin: 4px 0;
  line-height: 1.3;
}

.tarif-box strong {
  font-size: 18px;
  font-weight: bold;
  display: block;
  margin-top: 10px;
}

.tarif-box.full-width {
  flex: 100%;
}
/* --- index_tarifs.html --- */

/* --- index_about.html --- */
  .lead {
    font-size: 1.5em;
    font-weight: bold;
    color: #9a95a5;
  }

  .subtext {
    font-size: 0.9em;
    color: #9a95a5;
  }
/* --- index_about.html --- */

/* --- index_kpi.html --- */
  .targetlead {
    font-size: 2.6em;
    font-weight: bold;
    color: #43b49f;
    line-height: 0.3;  /* réduit l’écart vertical */
  }
  .targetsubtext {
    font-size: 1.8em;
    color: #247364;
    line-height: 0.3;  /* réduit l’écart vertical */
  }
  .target-container {
    margin: 10px auto;
    max-width: 900px;
  }
  .target-row {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
  }
  .target-box {
    flex: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 12px;
    background-color: #ffffff;
    color: #160244;
    font-family: Arial, Helvetica, sans-serif;
    /*display: flex;*/
    flex-direction: column; /* 👉 empile les éléments */
    justify-content: center;
    align-items: center;
    text-align: center;     /* 👉 centre le texte s’il y a plusieurs lignes */
  }
  .target-note {
    font-size: 0.8em;
    font-weight: 300;
    color: #a3a3a3;
    text-align: right;
    margin-top: 5px;
    margin-right: 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-style: italic; /* 👉 pour donner l’effet note */
  }
/* --- index_kpi.html --- */

/* --- index_faq.html --- */
    .faq {
      width: 100%;
      margin: 0 auto;
      border-radius: 8px;
      overflow: hidden;
      font-family: Arial, sans-serif;
    }

    .faq-item {
      border-bottom: 1px solid #ddd;
    }

    .faq-button {
      width: 100%;
      background: linear-gradient(135deg, #0078d7, #00a4ff);
      color: #08035b;
      border: none;
      outline: none;
      padding: 15px;
      text-align: left;
      font-size: 14px;  /*P*/
      font-weight: bold;
      cursor: pointer;
      transition: background 0.3s;
    }

    .faq-button:hover {
      background: linear-gradient(135deg, #0073c4, #009be2);
      color: #000000;         /* Texte noir/gris foncé */
    }
    
    .faq-content {
      color: #222;         /* Texte noir/gris foncé */
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
      padding: 0 15px;
      background: #e1e0e0;
      
    }
    
    .faq-content p {
      margin: 15px 0;
      font-size: 12px;   /* ← diminue la taille des réponses */
      line-height: 1.4;  /* ← améliore la lisibilité si tu réduis */
    }
    
    .active + .faq-content {
      max-height: 200px; /* Ajuste selon la taille de ton texte */
    }
    /* Suppression des marges/paddings globaux */
    body, html, main {
      margin: 0;
      padding: 0;
    }
    .faq-container {    /* Container FAQ */
      max-height: 47vh;
      max-width: 1200px;
      margin: 0 auto;
      overflow-y: auto;
      padding: 0;
      border: 1px solid #ddd;
      border-radius: 8px;
    }

/* --- index_faq.html --- */

/* --- Hero --- */
    .hero {
      text-align: center;
      padding: 20px 20px; /* réduit l’espace vertical */
      margin-top: -30px; /* réduit encore l’écart avec les logos */
    }

    .hero h1 {
      font-size: 2.5rem;
      margin-bottom: 5px; /* réduit espace sous le titre */
    }

    .subtitle {
      font-size: 1.2rem;
      font-weight: normal;
      display: block;
      margin-bottom: 15px;
      color: #e0e0e0; /* gris clair pour contraste */
    }

    .hero p {
      font-size: 1.2rem;
      margin-bottom: 20px;
    }
    .btn {
      background: linear-gradient(135deg, #0078d7, #00a4ff);
      color: white;
      border: none;
      padding: 12px 20px;
      margin: 10px 0;
      border-radius: 8px;
      font-size: 16px;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    }

    .btn:hover {
      background: linear-gradient(135deg, #005fa3, #008fd1);
      transform: translateY(-2px);
      box-shadow: 0 6px 15px rgba(0,0,0,0.25);
    }

    .btn:active {
      transform: scale(0.98);
      box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    }


/* --- Hero --- */
/* --- Infos (SOCIETE) --- */
    .infos {
      text-align: center;
      padding: 5px 0; /* au lieu de 20px */
      margin: 0; /* supprime les marges par défaut */
      display: block;
    }
    .infos p {
      margin: 0;
      font-size: 1rem;
    }
    .infos a {
      color: #ffffff;
      text-decoration: none;
      margin: 0 8px;
    }
    .infos a:hover {
      text-decoration: underline;
    }
    .infos.vert {
      color: #a8c518;
    }
    .infos.vert a {
      color: #a8c518;
    }



/* --- Hero --- */

/* --- FOOTER --- */
    footer {
      margin-top: auto;
      background: rgba(255, 255, 255, 0.15); /* éclairci */
      text-align: center;
      padding: 15px;
      font-size: 0.9rem;
      color: #a5a4a4;;
    }
    footer a {
      color: #a5a4a4;
      text-decoration: underline;
    }
    .screenshots {
      display: flex;
      justify-content: center;
      gap: 10px;
      margin-top: 20px;
      flex-wrap: wrap; /* pour que ça passe bien en mobile */
      text-align: center; /* <-- ajout pour centrer parfaitement */
    }
    .screenshot {
      background: #0a2540; /* gris clair */
      color: #b17538;
      text-decoration: none;
      padding: 10px 18px;
      border-radius: 6px;
      font-size: 15px;
      font-weight: 500;
      transition: all 0.3s ease;
      box-shadow: 0 3px 6px rgba(0,0,0,0.15);
    }
    .screenshot:hover {
      background: #d5d5d5;
      transform: translateY(-2px);
      box-shadow: 0 5px 10px rgba(0,0,0,0.25);
    }

/* --- Tarifs --- */
    .infos a.screenshot {
        background: none;      /* supprime le fond spécifique screenshot */
        border: none;          /* supprime la bordure */
        padding: 0;            /* supprime le padding */
        color: inherit;        /* reprend la couleur du texte des liens infos */
        text-decoration: none; /* comme les autres liens infos */
    }
    .infos a.screenshot:hover {
        text-decoration: underline; /* optionnel */
    }
/* --- Tarifs --- */

    /* --- LIGHTBOX --- */
    /* Fond sombre */
    .lightbox {
      position: fixed;
      z-index: 9999;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.7);
      display: none; /* BIEN cachée au départ */
      align-items: center;
      justify-content: center;
    }
    /* Boîte blanche centre */
    .lightbox-box {
      background: #fff;
      padding: 20px;
      border-radius: 10px;
      max-width: 80%;
      max-height: 80%;
      box-shadow: 0 8px 20px rgba(0,0,0,0.4);
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    /* Image */
    .lightbox-content {
      max-width: 100%;
      max-height: 70vh;
      border-radius: 6px;
    }
    /* Croix fermeture */
    .close {
      position: absolute;
      top: 10px;
      right: 15px;
      color: #333;
      font-size: 28px;
      font-weight: bold;
      cursor: pointer;
      transition: 0.3s;
    }
    .close:hover {
      color: #999;
    }
    /* --- LIGHTBOX --- */

/* --- Popup Connexion --- */
#loginPopup {
    color: #000; /* texte noir pour contraster avec le fond blanc */
    font-family: 'Segoe UI', Tahoma, sans-serif;
}

#loginPopup label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
}

#loginPopup input {
    width: 100%;
    padding: 7px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 15px;
    box-sizing: border-box;
}

#loginPopup h3 {
    margin-top: 0;
    margin-bottom: 10px;
    text-align: center;
    color: #007BFF;
}

#loginPopup button.btn {
    width: auto;
    margin-top: 5px;
}
#loginPopup label {
    display: block;       /* force l’affichage */
    margin-bottom: 6px;   /* espace avec le champ */
    font-weight: 600;     /* un peu plus visible */
    color: #333;          /* gris foncé lisible sur fond blanc */
}


/* --- Responsive --- */
    @media (max-width: 768px) {
      .hero h1 {
        font-size: 2rem;
      }
      .hero p {
        font-size: 1rem;
      }
      .subtitle {
        font-size: 1rem;
      }
      header {
        flex-direction: column;
      }
      .insert {
        margin-top: 10px;
      }
    }
/* --- Responsive --- */
