
/* Rapide changement > clair */

footer.footer {
  display: none!important,
}

#grid {
  background-color: transparent!important;
}

div.commande-display {
  background-color: gainsboro !important;
}

button.mic {
 border:  none !important;
}



div.dashboard-list {
  margin-right: 30%!important;
 margin-top: 80px!important;
}

* {
  color: black !important;
}

header.header {
  background-color: transparent!important; /* gris clair */
}

textarea.form-control {
    background-color: #d3d3d3 !important; /* gris clair */
     color: #333 !important; /* texte lisible (gris foncé) */
}

select.form-control {
      background-color: #d3d3d3 !important; /* gris clair */
     color: #333 !important; /* texte lisible (gris foncé) */  
}

input.form-control {
    background-color: #d3d3d3 !important; /* gris clair */
     color: #333 !important; /* texte lisible (gris foncé) */ 
}

div.container-fluid {
  background-color: white !important; /* gris clair */
}

#message-history {
    background-color: white !important; /* gris clair */
}

#main-content {
    background-color: white !important; /* gris clair */
}

#traitement-history {
    background-color: white !important; /* gris clair */
}

html body h2 {
    background-color: white !important; /* gris clair */
}

li.list-group-item.d-flex.justify-content-between.align-items-center {
  background-color: lightgrey!important; 
}

#triggersTable {
background-color: white !important; /* gris clair */
  }


#grid {
  background-color: whitesmoke !important; /* gris clair */
}
html body {
   background-color: whitesmoke !important; /* gris clair */
}
div.rectangle {
  background-color: white !important; /* gris clair */
}
textarea.rect-textarea {
    background-color: grey !important; /* gris clair */
}

table th {
  background-color: #d3d3d3 !important; /* gris clair */
  color: #333 !important;               /* texte gris foncé pour la lisibilité */
  font-weight: bold !important;
  border: 1px solid #bbb !important;    /* bordure gris moyen */
  padding: 8px !important;
}

table tr:nth-child(odd) {
  background-color: #ffffff !important; /* blanc */
}

table tr:nth-child(even) {
  background-color: #f2f2f2 !important; /* gris clair */
}

/* Tous les boutons du site */
button {
    font-size: 16px;  /* Taille du texte */
    color: #fff;      /* Texte blanc */
    border: none;     /* Pas de bordure */
    border-radius: 5px; /* Coins arrondis */
    cursor: pointer;  /* Curseur interactif */
    padding: 10px 20px; /* Espacement interne */
    background-color: #dddddd !important;
    transition: background 0.3s ease-in-out; /* Transition douce */
}

/* Effet au survol (hover) */
button:hover {
    background: linear-gradient(to right, #9A3FD4, #FE903D) !important; /* Dégradé modifié */
}

/* Container grid pour la liste */
#task-list {
display: grid;
grid-template-columns: repeat(2, 1fr); /* 2 colonnes par défaut */
gap: var(--gap, 20px); /* espacement entre les éléments */
list-style: none;
padding: 0;
margin: 20px auto; /* haut/bas 20px, centré horizontalement */
max-width: 1200px; /* limite la largeur sur grands écrans */
}

@media (max-width: 800px) {
#task-list {
grid-template-columns: 1fr; /* 1 colonne sur petits écrans */
}
}


/* Style pour chaque élément de la liste (comme une carte) */
#task-list li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.2rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(250,250,250,0.9));
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(17,17,17,0.12);
  border: 1px solid rgba(20,20,20,0.03);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  backdrop-filter: blur(6px);
  cursor: pointer;
}

#task-list li:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(17,17,17,0.14);
}

/* Icone ou badge pour chaque carte */
#task-list li .icon1 {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.2));
  box-shadow: inset 0 -6px 12px rgba(0,0,0,0.03);
}

/* Contenu texte dans la carte */
#task-list li .content {
  flex: 1;
  min-width: 0;
}

#task-list li .content h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #0b1220;
}

#task-list li .content p {
  margin: 0.35rem 0 0;
  color: #334;
  opacity: 0.8;
  font-size: 0.95rem;
}


/* Style global */
body {
    margin: 0;
    padding: 0;
    font-family: Geneva, sans-serif;
    color: gray;
    background: linear-gradient(180deg,#f5f4f7 0%, #eef8ff 40%, #e5e5e5 100%);
    display: block; /* Changer flex à block pour désactiver le centrage global */
    min-height: 100vh; /* Assure que le body prend toute la hauteur de l'écran */
}


/* Contenu principal */
main {
    flex: 1;
    z-index: 1; /* Met le contenu à un niveau inférieur au header */
    padding-top: 60px; /* Espace pour que le contenu ne soit pas caché sous le header */
}
 /* Vidéo en fond */
    #background-video {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; /* Couvre toute la fenêtre sans déformer la vidéo */
        z-index: -10; /* Place la vidéo derrière le contenu */
    }
	
/* Zones de texte */
textarea {
    color: #d3d3d3 !important;        /* Texte en gris clair */
    background-color: #000000 !important; /* Fond en noir */
}

/* Boutons de type submit avec dégradé */
button[type="submit"] {
    font-size: 16px;                  /* Taille du texte */
    color: #fff;                      /* Texte en blanc */
    border: none;                     /* Pas de bordure */
    border-radius: 5px;               /* Coins arrondis */
    cursor: pointer;                  /* Curseur interactif */
    padding: 10px 20px;               /* Espacement interne */
    background: linear-gradient(to right, #7028DC, #FE903D); /* Dégradé violet -> orange */
    transition: background 0.3s ease-in-out; /* Transition douce */
}

/* Effet au survol des boutons */
button[type="submit"]:hover {
    background: linear-gradient(to right, #9A3FD4, #FE903D); /* Dégradé modifié pour survol */
}

/* Boutons avec les ID spécifiques */
#generate-message, 
#elaborate {
    font-size: 16px;                  /* Taille du texte */
    color: #fff;                      /* Texte en blanc */
    border: none;                     /* Pas de bordure */
    border-radius: 5px;               /* Coins arrondis */
    cursor: pointer;                  /* Curseur interactif */
    padding: 10px 20px;               /* Espacement interne */
    background: linear-gradient(to right, #7028DC, #FE903D); /* Dégradé violet -> orange */
    transition: background 0.3s ease-in-out; /* Transition douce */
}

#elaboratev2 {
    font-size: 16px;                  /* Taille du texte */
    color: #fff;                      /* Texte en blanc */
    border: none;                     /* Pas de bordure */
    border-radius: 5px;               /* Coins arrondis */
    cursor: pointer;                  /* Curseur interactif */
    padding: 10px 20px;               /* Espacement interne */
    background: linear-gradient(to right, #7028DC, #FE903D); /* Dégradé violet -> orange */
    transition: background 0.3s ease-in-out; /* Transition douce */
}

/* Effet au survol des boutons */
#generate-message:hover, 
#elaborate:hover {
    background: linear-gradient(to right, #9A3FD4, #FE903D); /* Dégradé modifié pour survol */
}

/* Champs de saisie */
input {
    color: #898989 !important;        /* Texte en gris clair */
    border: 1px solid #d3d3d3;        /* Bordure en gris clair */
    padding: 8px;                     /* Espacement interne */
    border-radius: 5px;               /* Coins arrondis */
}

/* Placeholder des champs de saisie en gris plus clair */
input::placeholder {
    color: #a9a9a9;                   /* Texte des placeholders */
}

select {
    color: #d3d3d3 !important;        /* Texte en gris clair */
    background-color: #000000 !important; /* Fond noir */
    border: 1px solid #d3d3d3 !important; /* Bordure en gris clair */
    padding: 8px !important;          /* Espacement interne */
    border-radius: 5px !important;    /* Coins arrondis */
}

.form-check-input {
    appearance: none !important;
    width: 50px !important;
    height: 25px !important;
    background-color: #d3d3d3 !important; /* Fond gris clair lorsqu'il est désactivé */
    border-radius: 15px !important;
    position: relative !important;
    cursor: pointer !important;
    transition: background-color 0.5s !important;
}

.form-check-input::before {
    content: "" !important;
    position: absolute !important;
    top: 2px !important;
    left: 2px !important;
    width: 21px !important;
    height: 21px !important;
    background-color: #696969 !important; /* Gris foncé pour le bouton rond */
    border-radius: 50% !important;
    transition: transform 0.5s, background-color 0.5s !important;
}

.form-check-input:checked {
    background: linear-gradient(90deg, #8A2BE2, #FFA500) !important; /* Dégradé de violet à orange lorsqu'il est activé */
}

.form-check-input:checked::before {
    transform: translateX(25px) !important;
    background-color: #FFF !important; /* Optionnel : peut rester la couleur initiale ou être blanc */
}

.form-check-label {
    display: block;
    text-align: left; /* Centre le texte */
}

#autoToggle {
    display: block;
    margin: 0 auto; /* Centre le toggle */
    font-weight: bold; /* Rend le texte en gras */
}

/* Ajouts importants */
#message-history {
    border-color: grey !important;
    background-color: black !important;
}

#main-content {
    border-color: grey !important;
    background-color: black !important;
}

#traitement-history {
    border-color: grey !important;
    background-color: black !important;
}

/* Centrage du label */
.form-check-label {
    display: block;
    text-align: center; /* Centre le texte */
    margin-bottom: 20px; /* Ajoute de l'espace sous le label */
    font-weight: bold; /* Rend le texte en gras */
    align-items: center !important; /* Alignement centré */
}

label.social-label {
    background-color: transparent !important;
}

/* Style du toggle */
#autoToggle {
    display: block;
    margin: 0 auto; /* Centre le toggle */
    font-weight: bold; /* Rend le texte en gras */
}


/* Header */
.header {
  /*  position: fixed;*/
    top: 0;  /* Fixe le header en haut */
    left: 0; /* Assure que le header occupe toute la largeur */
    background-color: black;
    color: white;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    z-index: 1000; /* S'assure que le header est au-dessus de tout autre contenu */
}

.menu-toggle {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: white;
    display: none;
}

/* Logo */
.logo {
    height: 50px;
}

/* Navigation */
.links-container {
    display: flex;
    gap: 20px;
}

/* Style des liens */
.link-item {
    display: flex;
    align-items: center;
    color: white;
    text-decoration: none;
    font-size: 16px;
    padding: 5px 10px;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.link-item:hover {
    background-color: wheat;
}

/* Icônes avec dégradé */
.icon {
    font-size: 20px;     /* Taille de l'icône */
    margin-right: 8px;   /* Espace entre l'icône et le texte */

    background: linear-gradient(to right, #7028DC, #FE903D); /* Dégradé violet -> orange */
    -webkit-background-clip: text;  /* Applique le dégradé au texte uniquement */
    -webkit-text-fill-color: transparent; /* Rend le texte transparent pour afficher le dégradé */
}

.btn-with-icon {
    display: inline-flex;
    align-items: center;  /* Aligner l'icône et le texte */
    background-color: #29164D;  /* Couleur de fond du bouton */
    color: white;             /* Couleur du texte */
    font-size: 14px;          /* Taille du texte */
    padding: 10px 20px;       /* Espacement à l'intérieur du bouton */
    border: none;            /* Enlever la bordure par défaut */
    border-radius: 5px;      /* Bord arrondi pour le bouton */
    cursor: pointer;         /* Changer le curseur quand on passe sur le bouton */
    transition: background-color 0.3s, color 0.3s;  /* Animation au survol */
}


.btn-with-icon:hover {
    background-color: #9A38FD; /* Changer la couleur de fond au survol */
    color: white;               /* Garde le texte en blanc au survol */
}

/* Footer */
.footer {
    background-color: black;
    color: white;
    text-align: center;
    padding: 15px;
    width: 100%;
    position: relative;
    bottom: 0;
}

/* Zone de commande */
    #commande-container {
        position: absolute;
        margin-top: 100px;
        left: 50%;
        transform: translate(-50%, 0);
        width: 60%;
        display: flex;
        align-items: center;
        gap: 10px;
        z-index: 1;
    }

    #commande {
        flex-grow: 1;
        min-height: 40px;
        max-height: 150px;
        padding: 10px;
        font-size: 20px;
        color: gray;
        font-family: 'Cursive', Geneva, sans-serif;
        background-color: rgba(0, 0, 0, 0.7);
        border: none;
        border-radius: 25px;
        overflow: hidden;
        position: relative;
    }

    .commande-input {
        width: 100%;
        padding: 10px;
        font-size: 20px;
        color: gray;
        background-color: white;
        border: none;
        border-radius: 25px;
        box-sizing: border-box;
    }

/* Microphone - aligné à droite de la barre de commande */
.mic {
  
	position: relative;  /* Pas de position absolue cette fois */
    display: inline-flex;
    justify-content: center;
    align-items: center;
	margin-top: 95px;
    margin-left: 80%;
    width: 60px;
    height: 60px;
    background: linear-gradient(to right, #7028DC, #FE903D); /* Dégradé violet -> orange */
    color: #fff;
    font-size: 20px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.25s ease-in-out;
    z-index: 10;
}

/* Effet au survol du microphone */
.mic:hover {
    background: linear-gradient(to right, #9A3FD4, #FE903D);
}

.mic::before {
    content: "";
    position: absolute;
    width: inherit;
    height: inherit;
    border-radius: inherit;
    background-color: inherit;
    z-index: -1;
}

/* État d'écoute du microphone */
.mic.listening {
    background-color: #48397c;
}

.mic.listening::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(112, 40, 220, 0.9), rgba(254, 144, 61, 0));
    animation: listening 1.3s infinite;
    z-index: -1;
}

@keyframes listening {
    from {
        transform: scale(1); /* Départ avec taille normale */
        opacity: 0.9; /* Légèrement transparent */
    }
    to {
        transform: scale(3); /* Agrandissement progressif */
        opacity: 0; /* Disparition progressive */
    }
}

@media (max-width: 768px) {
    .links-container {
        display: none;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: 0;
        width: 250px;
        height: 100%;
        background-color: black;
        padding: 20px;
        z-index: 1001;
    }
	
	   .links-container a {
        color: white;
        padding: 15px;
        font-size: 18px;
        border-bottom: 1px solid #555;
        display: block;
        text-align: center;
    }

    .menu-toggle {
        display: block;
    }

    .links-container.active {
        display: flex;
    }
}

/* Conteneur du tableau (optionnel mais joli) */
.table-container {
  background: #fff !important;
  padding: 20px !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
  overflow-x: auto !important;
}

/* Tableau */
table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
}

/* En-tête sobre et moderne */
table th {
  background: linear-gradient(to bottom, #f7f7f7, #e6e6e6) !important; /* gris doux */
  color: #2f3a48 !important;                                           /* texte gris foncé */
  padding: 12px 15px !important;
  text-align: left !important;
  font-weight: 600 !important;
  border-bottom: 2px solid #d0d0d0 !important;
}

/* Lignes */
table td {
  padding: 10px 15px !important;
  border-bottom: 1px solid #eee !important;
  color: #333 !important;
}

/* Alternance des lignes */
table tr:nth-child(even) {
  background-color: #f8f8f8 !important; /* gris très clair */
}

/* Hover */
table tr:hover {
  background-color: #eaeaea !important;
  transition: background-color 0.2s ease !important;
}

/* Première colonne en gras (facultatif) */
table td:first-child {
  font-weight: 500 !important;
}


/* Card */

 :root{
      --accent1: #752bd8;
      --accent2: #FC8F40;
      --card-bg: rgba(255,255,255,0.85);
      --glass: rgba(255,255,255,0.6);
      --shadow: 0 8px 24px rgba(17,17,17,0.12);
      --radius: 14px;
      --gap: 20px;
      --max-width: 1100px;
      color-scheme: light;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    }

    html,body{
      margin:0;
      background: linear-gradient(180deg,#f5f4f7 0%, #eef8ff 40%, #e5e5e5 100%);
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }
	
	  a.cta {
    color:white!important; 
   }

    .wrap{
      max-width: var(--max-width);
      margin: 3.2rem auto;
	    margin-top: -30px!important;
      padding: 2rem;
    }
	
p.note {
   margin-top: 40px;
}

    /* Title */
    header {
      text-align: center;
      margin-bottom: 2.4rem;
    }
	
  h1 {
  margin: 0;
  font-size: clamp(3rem, 6vw, 5rem); /* plus grand que before */
  line-height: 1.02;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 300; /* plus léger */
  letter-spacing: -0.02em;
}

    p.lead{
      margin: 0.8rem auto 0;
      max-width: 70ch;
      color: #263238;
      opacity: 0.85;
      font-size: 1.05rem;
    }

    /* Cards grid */
    .cards {
      margin-top: 2.2rem;
      display: grid;
      gap: var(--gap);
      grid-template-columns: repeat(2, 1fr);
    }

    @media (max-width:800px){
      .cards { grid-template-columns: 1fr; }
      .wrap { padding: 1rem; margin: 1.6rem auto; }
    }

    .card {
      display:flex;
      align-items:flex-start;
      gap: 1rem;
      padding: 1.2rem;
      background: linear-gradient(180deg, rgba(255,255,255,0.9), var(--card-bg));
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      transition: transform .18s ease, box-shadow .18s ease;
      border: 1px solid rgba(20,20,20,0.03);
      backdrop-filter: blur(6px);
    }
    .card:hover{
      transform: translateY(-6px);
      box-shadow: 0 18px 40px rgba(17,17,17,0.14);
    }

    .icon1{
      flex: 0 0 64px;
      width:64px;
      height:64px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.2));
      box-shadow: inset 0 -6px 12px rgba(0,0,0,0.03);
    }
    .icon1 svg { width:36px; height:36px; }

    .content{
      flex:1;
      min-width:0;
    }
    .content h3{
      margin:0;
      font-size:1.05rem;
      color:#0b1220;
    }
    .content p{
      margin:0.35rem 0 0;
      color:#334;
      opacity:0.8;
      font-size:.95rem;
    }
    .card .cta {
      margin-top:0.7rem;
      display:inline-block;
      padding: 0.45rem 0.8rem;
      border-radius: 10px;
      text-decoration:none;
      font-weight:600;
      font-size:0.9rem;
      color:white;
      background: linear-gradient(90deg, var(--accent1), var(--accent2));
      box-shadow: 0 6px 18px rgba(111,45,239,0.12);
    }

    /* small footer note */
    .note {
      margin-top: 1.6rem;
      text-align:center;
      color:#445;
      opacity:0.8;
    }
	
	.icon svg {
  width: 40px;
  height: 40px;
  display: block;
}

.delete-btn {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 24px;
    height: 24px;
    border: none;
    color: white;
    font-size: 18px;
    line-height: 18px;
    border-radius: 20%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.card {
    position: relative;
}




