
body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

html {
    position: relative;
    min-height: 100%;

    body {
        /* Margin bottom by footer height */
        margin-bottom: 60px;
    }

    .footer {
        position: absolute;
        bottom: 0;
        /* Set the fixed height of the footer here */
        height: 60px;
        width: 100%;
        background-color: transparent;
    }
}

.navbar-horizontal .navbar-brand img {
    height: 20px;
}

[data-loading] {
    display: none;
}

.fixed-table-toolbar {
    position: relative;
}

.btn-table {
  margin: 0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

input[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: searchfield-cancel-button;
}

.h1 {
    font-size: 2.5rem;
    font-weight: 400;
}

.fw-semibold {
    font-weight: 600;
}

.table {
    color: #000;
}
.alert-fixed {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1050;
    width: 90%;
    max-width: 600px;
}
.select2-container .select2-selection--single {
    height: 2% ;
}
.toast-close {
  color: #000000 !important;
  font-size: 16px;
  padding: 0 10px;
  cursor: pointer;
}

.border-left-success {
  border-left: 4px solid #28a745 !important;
}
.border-left-danger {
  border-left: 4px solid #dc3545 !important;
}
.border-left-warning {
  border-left: 4px solid #ffc107 !important;
}
.answer-hover-container {
  position: relative;
}

.truncated_text {
  display: block;
}

.full_text {
  display: none;
  white-space: normal;
  position: absolute;
  background-color: #fff;
  color: #212529;
  border: 1px solid #ccc;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  padding: 8px;
  z-index: 10;
  width: 100%;
  top: 100%;
  left: 0;
  font-size: 0.875rem;
}

.answer-hover-container:hover .full_text {
  display: block;
}

.answer-hover-container:hover .truncated_text {
  visibility: hidden;
}

/* Migliora leggibilità generale */
#sources-list .card {
  background-color: #fdfdfd;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
}

/* Gerarchia dei titoli e testo */
#sources-list .card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
}

#sources-list .card-body p,
#sources-list .card-body div,
#sources-list .card-body a {
  font-size: 0.95rem;
  color: #444;
}

#sources-list .card-body > *:not(:last-child) {
  margin-bottom: 0.75rem;
}

/* Campo valore a comparsa */
#sources-list .answer-hover-container {
  position: relative;
  cursor: pointer;
}

#sources-list .truncated_text {
  display: block;
}

#sources-list .full_text {
  display: none;
  white-space: normal;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  background-color: #fff;
  padding: 8px;
  border: 1px solid #ccc;
  font-size: 0.875rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

#sources-list .answer-hover-container:hover .full_text {
  display: block;
}

#sources-list .answer-hover-container:hover .truncated_text {
  visibility: hidden;
}

/* Checkbox ben allineati */
#sources-list .custom-switch .custom-control-label {
  padding-left: 0.5rem;
  font-size: 0.875rem;
  color: #555;
}

/* Checkbox selezione */
#sources-list .item-checkbox {
  transform: scale(1.2);
}

/* Highlight righe alternate (mobile stack) */
#sources-list .card:nth-child(odd) {
  background-color: #f8f9fa;
}

/* Spinner */
#sources-loader .spinner-border {
  width: 2rem;
  height: 2rem;
}

/* Spacing tra checkbox e titolo */
#sources-list .card-body .d-flex.align-items-center {
  margin-bottom: 1rem;
}

#sources-list {
  min-height: 100vh; /* forza uno scroll se pochi risultati */
}
#sources-loader:empty {
  display: none;
}