/* your styles go here */
.px-6 {
  padding-right: 6rem !important;
  padding-left: 6rem !important;
}

.overlay-medium::after {
  opacity: 0.7 !important;
}

.td-ocra {background-color: #e5be01 !important;}
.td-verde {background-color: #9ACD32 !important;}

/* rtl:end:remove */
.text-blue-anas {
  color: var(--bs-blue-anas);
}

.bg-blue-anas {
  background-color: var(--bs-blue-anas) !important;
}

.btn-outline-blue-anas {
  color: var(--bs-blue-anas);
  border-color: var(--bs-blue-anas);
}



.text-giustificato {
    text-align: justify;
}


 .news-card {
   border: none;
   border-radius: 12px;
   box-shadow: 0 4px 14px rgba(0,0,0,0.08);
   max-width: 380px;
   //transition: transform 0.2s ease;
 }
/*
    .news-card:hover {
      transform: translateY(-4px);
    }
*/
 .category {
   font-size: 0.9rem; /* leggermente pił grande */
   letter-spacing: 0.5px;
   color: var(--bs-primary);
   font-weight: 700;
 }

 .date {
   font-size: 0.8rem;
   color: var(--bs-gray);
 }

 .news-title {
   font-weight: 700;
   line-height: 1.3;
   color: var(--bs-blue-anas);
 }

.news-description {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--bs-gray);
  line-height: 1.4;
  margin: 0;
}

 .arrow {
   color: var(--bs-blue-anas);
   font-size: 1rem;
 }

 .arrow:hover {
   color: var(--bs-primary);
 }

/* FINE CARD */    


/* BOX Errore*/
 .box-errore {
   margin-top: 30px;
   border-left: 5px solid #3498db;
   padding: 16px;
   background-color: var(--bs-light); 
   line-height: 1.5;
   color : var(--bs-blue-anas);
   font-size: 1.1rem;
 }

 .box-errore-titolo {
   font-weight: 700;
   margin-bottom: 8px;
 }

 /* Varianti colore */
 .success { border-left-color: var(--bs-success);}
 .warning { border-left-color: var(--bs-warning); }
 .error   { border-left-color: var(--bs-danger); }



/* Per celle tabelle con link matricola */
.btn-lcell {
  color: #8e2534;
  text-decoration: none;
}

.btn-lcell:hover {
  color: #cb344b;
  text-decoration: underline;
}

.btn-lcell:focus {
  text-decoration: underline;
}



 /* ---        GENEALOGIA            --- */
    /* --- STRUTTURA FLUIDA CON FLEXBOX --- */
    .tree {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-left: 130px;
    }

    .tree ul {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: flex-start;
      padding: 10px 0 0 0;
      margin: 0;
      list-style-type: none;
      position: relative;
    }

    .tree li {
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      padding: 20px 10px 0 10px;
    }

    /* ---DISEGNO DELLE LINEE DI COLLEGAMENTO --- */
    /* Linea verticale superiore che entra nel blocco */
    .tree ul ul::before {
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      border-left: 2px solid #b2bec3;
      width: 0;
      height: 20px;
    }

    /* Linee orizzontali di derivazione */
    .tree li::before, .tree li::after {
      content: '';
      position: absolute;
      top: 0;
      right: 50%;
      border-top: 2px solid #b2bec3;
      width: 50%;
      height: 20px;
    }

    .tree li::after {
      right: auto;
      left: 50%;
      border-left: 2px solid #b2bec3;
    }

    /* Rimuove le linee superflue per i nodi singoli o esterni */
    .tree li:only-child::after, .tree li:only-child::before {
      display: none;
    }

    .tree li:only-child {
      padding-top: 0;
    }

    .tree li:first-child::before, .tree li:last-child::after {
      border: 0;
    }

    /* Raccordi curveggianti per un aspetto pił pulito */
    .tree li:first-child::after {
      border-radius: 4px 0 0 0;
    }

    .tree li:last-child::before {
      border-right: 2px solid #b2bec3;
      border-radius: 0 4px 0 0;
    }

    /* --- STILE DEI RIQUADRI (SCHEDE) --- */
    .tree .box {
      background: #ffffff;
      border: 2px solid #dfe6e9;
      border-radius: 8px;
      padding: 10px 5px;
      text-align: center;
      text-decoration: none;
      color: #2d3436;
      box-shadow: 0 4px 6px rgba(0,0,0,0.05);
      transition: all 0.3s ease;
      width: 150px;          /* Larghezza fissa per simmetria perfetta */
      min-height: 80px;      /* Altezza minima per gestire pił righe */
      display: flex;
      flex-direction: column;
      justify-content: center;
      z-index: 10;
    }

    /* Testo multilinea all'interno del riquadro */
    .tree .box .name {
      font-weight: bold;
      font-size: 14px;
      margin-bottom: 4px;
      color: var(--bs-green-anas);
    }

    .tree .box .dates {
      font-size: 14px;
      color: #636e72;
      margin-bottom: 4px;
    }

    .tree .box .iden {
      font-size: 14px;
      font-weight: bold;
      margin-bottom: 4px;
      color: var(--bs-blue-anas);
    }

    .tree .box .info {
      font-size: 14px;
      color: var(--bs-blue-anas);
      margin-bottom: 4px;
    }

    /* --- EFFETTI HOVER (Illumina l'intera discendenza) --- */
    .tree .box:hover {
      background: #e8f4fd;
      border-color: #74b9ff;
      transform: translateY(-3px);
      box-shadow: 0 6px 12px rgba(9, 132, 227, 0.15);
    }

    .tree .box:hover + ul li .box {
      background: #f1f2f6;
      border-color: #a4b0be;
    }




/* per tabelle tipo indici nelle schede genealogiche */
    .indici-table {
        border: 2px solid #d6d6d6;
        border-collapse;
    }

    .indici-table th,
    .indici-table td {
        text-align: center;
        vertical-align: middle;
        border: 2px solid #dfe6e9 !important;
        padding: 12px 8px;
        background: white;
    }

    .header-title {
        font-size: 1rem;
        font-weight: 700;
        color: var(--bs-gray);
        text-transform: uppercase;
        line-height: 1.1;
    }

    .header-code {
        font-size: 0.7rem;
        color: var(--bs-gray);
    }

    .row-label {
        font-weight: 700;
        color: var(--bs-gray);
        text-transform: uppercase;
        border-color: var(--bs-gray);
        letter-spacing: .5px;
    }

    .positive {
        color: #2e7d32;
        font-weight: 600;
    }

    .pig-icon {
        width: 45px;
        height: auto;
    }



.dropdown-toggle::after {
display: none !important;
}

.badge-sm {
    font-size: 0.75rem;
    padding: 0.35em 0.5em; /* Opzionale: riduce anche lo spazio interno */
}


/*------------------------------*/

.letter-spacing-1 {
    letter-spacing: 1px;
}

.letter-spacing-2 {
    letter-spacing: 2px;
}

.letter-spacing-3 {
    letter-spacing: 3px;
}

/*------------------------------*/

/* DATATABLES PER BLOCCARE LE COLONNE A SINISTRA E NON FAR SOVRAPPORRERE QUELLE CHE SCORRONO
Assegna uno sfondo solido (es. Bianco) alle celle bloccate per eliminare la trasparenza */
html table.dataTable th.dtfc-fixed-start{
    background-color: #8e2534; !important;
    opacity: 1 !important;
    z-index: 10; /* Assicura che rimangano in primo piano */
   }
html table.dataTable td.dtfc-fixed-start {
    background-color: #ffffff; !important;
    opacity: 1 !important;
    z-index: 10; /* Assicura che rimangano in primo piano */
}
