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%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
/* CUST-02: customer logos in lists and headers */
.customer-logo {
  max-height: 64px;
  max-width: 200px;
  object-fit: contain;
}

/* TPL-02: template builder */
.drag-handle {
  cursor: grab;
  color: var(--bs-secondary-color);
  user-select: none;
  padding: 0 0.25rem;
}
.drag-cell {
  width: 1.5rem;
}
.dragging {
  opacity: 0.5;
}
.template-sub > summary {
  cursor: pointer;
  list-style: none;
}
.template-sub > summary::-webkit-details-marker {
  display: none;
}
.template-sub[open] > summary {
  border-bottom: 1px solid var(--bs-border-color);
  margin-bottom: 0.5rem;
}
.select-cell {
  width: 1.75rem;
}
/* Shown at the bottom of the screen while items are ticked (always shown without JavaScript) */
.selection-bar {
  position: sticky;
  bottom: 0;
  z-index: 10;
  background: var(--bs-body-bg);
  border-top: 1px solid var(--bs-border-color);
  box-shadow: 0 -0.25rem 0.5rem rgba(0, 0, 0, 0.05);
  margin: 1rem 0;
}
.selection-bar.js-hidden {
  display: none;
}

/* Observation instruction: a small round "!" next to the item name */
.instruction-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: 0.25rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--bs-warning);
  color: #000;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  vertical-align: text-bottom;
  cursor: pointer;
}
.instruction-text {
  margin-top: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-left: 3px solid var(--bs-warning);
  background: var(--bs-warning-bg-subtle);
  white-space: pre-line;
}
