/* prefixed.css - Contains prefixed vendor prefixes for better browser compatibility */

/* Flexbox */
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.justify-content-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.justify-content-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.justify-content-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.justify-content-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.justify-content-around {
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.align-items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.align-items-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.align-items-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

/* Transformationen */
.transform-rotate {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}

.transform-scale {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.transform-translate {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

/* Transitionen */
.transition {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* Animationen */
@-webkit-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@-moz-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@-ms-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@-o-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.animate-fadeIn {
  -webkit-animation: fadeIn 0.3s ease-in-out;
  -moz-animation: fadeIn 0.3s ease-in-out;
  -ms-animation: fadeIn 0.3s ease-in-out;
  -o-animation: fadeIn 0.3s ease-in-out;
  animation: fadeIn 0.3s ease-in-out;
}

/* Box-Sizing */
.box-sizing-border {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Appearance */
.appearance-none {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* User-select */
.user-select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Columns */
.columns-2 {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
}

.columns-3 {
  -webkit-column-count: 3;
  -moz-column-count: 3;
  column-count: 3;
}

/* Backdrop-filter */
.backdrop-blur {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* Scrollbar */
.scrollbar-thin {
  scrollbar-width: thin;
}

.scrollbar-none {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

.scrollbar-none::-webkit-scrollbar {
  display: none; /* Chrome, Safari and Opera */
}

/* Grid */
.grid {
  display: -ms-grid;
  display: grid;
}

/* Placeholder */
.placeholder-style::placeholder {
  color: #999;
  opacity: 1;
}

.placeholder-style::-webkit-input-placeholder {
  color: #999;
}

.placeholder-style::-moz-placeholder {
  color: #999;
}

.placeholder-style:-ms-input-placeholder {
  color: #999;
}

.placeholder-style::-ms-input-placeholder {
  color: #999;
}

/* Spezifische Browser-Fixes */

/* Firefox-spezifische Anpassungen */
@-moz-document url-prefix() {
  select {
    text-indent: 0.01px;
    text-overflow: '';
    padding-right: 1em;
  }
}

/* Edge-spezifische Anpassungen */
@supports (-ms-ime-align:auto) {
  .edge-fix {
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

/* IE-spezifische Anpassungen */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .ie-fix {
    display: block;
  }
}

/* Safari-spezifische Anpassungen */
@media not all and (min-resolution:.001dpcm) {
  @supports (-webkit-appearance:none) {
    .safari-fix {
      -webkit-appearance: none;
    }
  }
}

/* General utilities for better browser compatibility */

/* Prevents text enlargement during orientation changes in iOS */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Improved touch targets for mobile devices */
.touch-target {
  min-height: 44px;
  min-width: 44px;
}

/* Prevents blue highlight on tap on mobile devices */
.no-tap-highlight {
  -webkit-tap-highlight-color: transparent;
}

/* Improved font smoothing */
.font-smoothing {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Verbesserte Darstellung von SVGs */
.svg-fix {
  shape-rendering: geometricPrecision;
}

/* Verbesserte Darstellung von Bildern */
.img-rendering {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}