/* Normalisierungen für Drittanbieter-Bibliotheken 
   Ersetzt veraltete CSS-Konstrukte und Browser-spezifische Syntax */

/* Toastr Filter-Korrekturen */
#toast-container > div {
  opacity: 0.8;
}

#toast-container > .toast-success {
  background-color: #51a351;
}

#toast-container > .toast-error {
  background-color: #bd362f;
}

#toast-container > .toast-info {
  background-color: #2f96b4;
}

#toast-container > .toast-warning {
  background-color: #f89406;
}

.toast-top-right {
  top: 12px;
  right: 12px;
}

/* Bootstrap Normalisierungen */
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

/* IE Filter-Ersetztung mit modernen Alternativen */
.opacity-75 {
  opacity: 0.75;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-25 {
  opacity: 0.25;
}

/* Fix für -moz-column-gap Wiederholungen in _utilities.scss */
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -.5);
  margin-left: calc(var(--bs-gutter-x) * -.5);
}

.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}

/* Font Awesome Fixes */
.fa, .fas, .far, .fal, .fab {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
} 