/* ===================================================================
 *  STYLE GLOBAL & GRAPHIQUE SIGMA
 * =================================================================== */

 #sigma-container {
  width: 100%;
  height: 600px; /* Un peu plus de hauteur pour un meilleur confort */
  border: 1px solid var(--bs-border-color); /* Variable Bootstrap */
  margin-top: 1rem;
  border-radius: var(--bs-border-radius); /* Variable Bootstrap */
  background-color: var(--bs-light-bg-subtle); /* Fond légèrement teinté */
}

/* ===================================================================
 *  STYLE DES CARTES "HIGHLIGHTS"
 * =================================================================== */

/* Applique une hauteur de 100% aux cartes dans les colonnes pour un alignement parfait */
.genealogy-column .card {
  height: 100%;
}

/* Style spécifique pour la carte centrale du modèle recherché */
.card-searched {
  border: 2px solid var(--bs-primary); /* Bordure primaire de Bootstrap */
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* Ombre plus prononcée */
  background-color: var(--bs-light); /* Fond clair Bootstrap */
}



/* ===================================================================
 *  STYLE DES TABLES (DATATABLES)
 * =================================================================== */
/* Permet au texte de revenir à la ligne naturellement */
#descendance-table th, #descendance-table td,
#ascendance-table th, #ascendance-table td {
    white-space: normal; /* <-- La correction clé ! */
    word-wrap: break-word; /* Force le retour à la ligne des mots longs */
    vertical-align: middle; /* Garde le centrage vertical */
}

/* On peut donner une largeur minimale aux colonnes pour garder une bonne structure */
#descendance-table th, #ascendance-table th {
    min-width: 120px; /* Ajustez cette valeur selon vos besoins */
}

/* Cas spécifique pour les colonnes potentiellement longues comme le nom du modèle */
#descendance-table th:first-child, #ascendance-table th:first-child {
    min-width: 200px;
}

/* Empêche le texte de se couper dans les cellules, force le défilement horizontal */
#descendance-table th, #descendance-table td,
#ascendance-table th, #ascendance-table td {
    white-space: nowrap;
    vertical-align: middle; /* Centrage vertical pour un look plus propre */
}

/* Personnalisation de l'input de recherche de DataTables pour qu'il ressemble à un champ Bootstrap */
div.dataTables_wrapper div.dataTables_filter input {
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  padding: 0.375rem 0.75rem;
  margin-left: 0.5em;
}

/* Amélioration de la visibilité des flèches de tri de DataTables */
div.dataTables_wrapper .table thead th.sorting::before,
div.dataTables_wrapper .table thead th.sorting::after {
    opacity: 0.4;
    color: var(--bs-body-color);
}

div.dataTables_wrapper .table thead th.sorting_asc::after,
div.dataTables_wrapper .table thead th.sorting_desc::before {
    opacity: 1;
    color: var(--bs-primary); /* Couleur primaire de Bootstrap */
}

div.dataTables_wrapper .table thead th.sorting_asc::before,
div.dataTables_wrapper .table thead th.sorting_desc::after {
    opacity: 0.2;
}


/* ===================================================================
 *  STYLE DES COMPOSANTS D'INTERFACE
 * =================================================================== */

/* NOTE: La plupart des classes de layout comme .search-controls-container, .depth-controls
 * ont été supprimées car la mise en page est maintenant gérée par la grille et
 * les utilitaires Flexbox de Bootstrap directement dans le HTML (row, col, d-flex, gap-3).
 */

/* Style pour la liste de suggestions de l'autocomplétion */
/* Le HTML utilise maintenant <ul class="list-group">, ce CSS est donc obsolète. */
/* Si vous n'utilisez pas list-group, ce style peut être adapté. */
#suggestions-list {
  /* Ce style est pour si vous utilisez une <ul> simple.
     Si vous avez bien une <ul class="list-group">, vous pouvez supprimer ce bloc. */
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-light);
}
#suggestions-list li:hover {
  background-color:  #94bfeb; ;
}


/* Légendes du graphe */

.legend-item {
  /* Cette classe est maintenant principalement utilisée pour le JS (clic) */
  cursor: pointer;
  transition: background-color 0.2s;
}
.legend-item:hover {
  background-color: var(--bs-light-bg-subtle);
}
.legend-item.active {
  font-weight: bold;
  background-color: var(--bs-primary-bg-subtle);
}

/* Le style de la puce colorée reste le même */
.legend-color {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  margin-right: 0.75rem;
  flex-shrink: 0;
}
.legend-color.edge {
  height: 4px;
  width: 20px;
  border-radius: 2px;
}


/* ===================================================================
 *  CONNECTEURS VISUELS POUR LA VUE GÉNÉALOGIQUE
 *  (Cette logique est indépendante du framework et n'a besoin que de la mise à jour des couleurs)
 * =================================================================== */

.genealogy-row {
  position: relative;
}

/* On utilise la classe de la colonne centrale pour attacher les connecteurs */
#center-column {
  position: static; /* Important pour que les connecteurs ne soient pas piégés dedans */
}

/* Média query pour n'afficher les connecteurs que sur les grands écrans (lg et plus) */
@media (min-width: 992px) {
  /* Connecteur vers l'ascendance (gauche) */
  #center-column::before {
      content: '';
      position: absolute;
      z-index: -1;
      top: 100px; /* Ajustez cette hauteur pour aligner avec vos cartes */
      
      left: 20%;  /* Commence à 20% de la largeur */
      right: 60%; /* S'arrête à 40% de la largeur */

      height: 3px;
      background-color: var(--bs-secondary-border-subtle); /* Couleur Bootstrap subtile */
      border-radius: 3px;
  }

  /* Connecteur vers la descendance (droite) */
  #center-column::after {
      content: '';
      position: absolute;
      z-index: -1;
      top: 100px; /* Même hauteur */
      
      left: 60%;
      right: 20%;
      
      height: 3px;
      background-color: var(--bs-secondary-border-subtle);
      border-radius: 3px;
  }
}

/* Style de base pour la carte interactive */
.card-interactive {
  /* Ajoute une transition douce pour tous les changements de style (couleur, ombre...) */
  transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}


.form-check-input:checked {
  background-color: #6a11cb; /* Bleu primaire par défaut */
  border-color:#6a11cb;     /* Bleu primaire par défaut */
}

/* Change la couleur de fond des cases à cocher lorsqu'elles sont cochées */
.btn {
  background-color: #6a11cb; 
  border-color:#6a11cb;    
}

.stretched-link{
color: #6a11cb; 
}
/* Style appliqué LORSQUE LA SOURIS SURVOLE la carte */
.card-interactive:hover {
  cursor: pointer; /* Le curseur change en main, indiquant un clic possible */
  background-color: #94bfeb; /* Une couleur de fond légèrement grise (standard Bootstrap) */
  
  /* Optionnel : ajoute une ombre subtile pour faire "ressortir" la carte */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1); 
}

.card-recherche p:not(.text-muted) {
  color: #212529 !important; /* Couleur noire standard de Bootstrap */

}

.card-recherche{
  border-color:#6a11cb;
}

.card-recherche-header{
  border-color:#6a11cb;
  background-color: #6a11cb; 

}
.on-top {
  position: relative;
  z-index: 2; /* Doit être supérieur à 1 (le z-index du stretched-link) */
}

.beta {
  background-color: #6a11cb;
}

.alpha {
  background-color: #b476f7;
  color : #000000;
}

main {
  margin-bottom: 5rem; /* ajuste la valeur selon tes besoins */
}

#floating-legend .legend-color { width: 1em; height: 1em; display: inline-block; border-radius: 2px; }
#floating-legend .legend-color.edge { border-radius: 0; height: 0.25em; transform: translateY(-0.35em); }

.btn-modern {
  min-width: 200px;
  padding: 14px 24px;
  font-weight: bold;
  color: white;
  background: linear-gradient(135deg, #6a11cb, #f8a5f8);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
  text-align: center;
  text-decoration: none;
}

.btn-modern:hover {
  background: linear-gradient(135deg, #5a0fbf, #1d63e1);
  transform: translateY(-3px);
}