html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

/* --- Explorateur de documents --- */

#document-explorer .explorer-select-col {
  width: 2rem;
}

#document-explorer .explorer-icon-col {
  width: 2.5rem;
}

#document-explorer .explorer-date-col {
  width: 12rem;
}

#document-explorer .explorer-size-col {
  width: 8rem;
}

#document-explorer .explorer-actions-col {
  width: 8rem;
}

#document-explorer .explorer-item-name {
  text-decoration: none;
}

#document-explorer .explorer-item-name:hover,
#document-explorer .explorer-item-name:focus {
  text-decoration: underline;
}

#document-explorer .breadcrumb .btn-link {
  text-decoration: none;
}

#document-explorer .breadcrumb .btn-link:hover,
#document-explorer .breadcrumb .btn-link:focus {
  text-decoration: underline;
}

#document-explorer tbody tr {
  cursor: default;
}

#document-explorer .explorer-drop-zone {
  min-height: 12rem;
  border: 2px dashed transparent;
  border-radius: 0.5rem;
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

#document-explorer .explorer-drop-zone.drop-active {
  border-color: var(--bs-primary);
  background-color: rgba(13, 110, 253, 0.05);
}

#document-explorer .explorer-upload-list {
  max-height: 16rem;
  overflow-y: auto;
}

/* Aperçu d'image au survol du nom */
#document-explorer .explorer-preview {
  position: fixed;
  z-index: 1080;
  pointer-events: none;
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
}

#document-explorer .explorer-preview img {
  display: block;
  max-width: 260px;
  max-height: 260px;
  border-radius: 0.25rem;
}

/* SweetAlert2 aux couleurs du thème (le mode sombre n'est pas natif) */
.swal2-popup {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

.swal2-title,
.swal2-html-container,
.swal2-input-label {
  color: var(--bs-body-color) !important;
}

.swal2-input {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
  border-color: var(--bs-border-color) !important;
}

div:where(.swal2-container).swal2-backdrop-show {
  background: rgba(0, 0, 0, 0.5) !important;
}
