/* FontAwesome Optimierung - Alle benötigten Icons */
/* Diese Datei ersetzt die komplette FontAwesome CSS für bessere Performance */

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.woff2) format("woff2");
}

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.woff2) format("woff2");
}

/* Base Classes */
.fa, .fas, .fab {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fab {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

/* Alle verwendeten Icons */
.fa-windows:before { content: "\f17a"; }
.fa-download:before { content: "\f019"; }
.fa-play:before { content: "\f04b"; }
.fa-server:before { content: "\f233"; }
.fa-tags:before { content: "\f02c"; }
.fa-file-invoice:before { content: "\f570"; }
.fa-eye-slash:before { content: "\f070"; }
.fa-bolt:before { content: "\f0e7"; }
.fa-cloud-upload-alt:before { content: "\f382"; }
.fa-headset:before { content: "\f590"; }
.fa-file-import:before { content: "\f56f"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-down:before { content: "\f063"; }
.fa-eye:before { content: "\f06e"; }
.fa-archive:before { content: "\f187"; }
.fa-check:before { content: "\f00c"; }

.fa-plus:before { 
                  content: "\f067";
                  position: relative;
                  right: -1.5px;
                }
                
.fa-info-circle:before { content: "\f05a"; }
.fa-calendar-alt:before { content: "\f073"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-phone-alt:before { content: "\f879"; }
.fa-video:before { content: "\f03d"; }
.fa-paper-plane:before { content: "\f1d8"; }
.fa-sync-alt:before { content: "\f2f1"; }
.fa-bell:before { content: "\f0f3"; }
.fa-cog:before { content: "\f013"; }
.fa-building:before { content: "\f1ad"; }
.fa-times:before { content: "\f00d"; }
.fa-graduation-cap:before { content: "\f19d"; }
.fa-code:before { content: "\f121"; }
.fa-map-marker-alt:before { content: "\f3c5"; }
.fa-rocket:before { content: "\f135"; }
.fa-handshake:before { content: "\f2b5"; }
.fa-shield-alt:before { content: "\f3ed"; }
.fa-user:before { content: "\f007"; }
.fa-user-circle:before { content: "\f2bd"; }
.fa-check-circle:before { content: "\f058"; }
.fa-spinner:before { content: "\f110"; }
.fa-sign-in-alt:before { content: "\f2f6"; }
.fa-sign-out-alt:before { content: "\f2f5"; }
.fa-credit-card:before { content: "\f09d"; }
.fa-phone:before { content: "\f095"; }
.fa-clock:before { content: "\f017"; }
.fa-bars:before { content: "\f0c9"; }
.fa-briefcase:before { content: "\f0b1"; }
.fa-tools:before { content: "\f7d9"; }
.fa-gavel:before { content: "\f0e3"; }
.fa-accuracy:before { content: "\f140"; }
.fa-chart-line:before { content: "\f201"; }
.fa-magic:before { content: "\f0d0"; }
.fa-cogs:before { content: "\f085"; }
.fa-search:before { content: "\f002"; }
.fa-puzzle-piece:before { content: "\f12e"; }
.fa-sitemap:before { content: "\f0e8"; }
.fa-plug:before { content: "\f1e6"; }
.fa-comments:before { content: "\f086"; }

/* Performance: Preload für kritische Icons */
.fa-windows, .fa-download, .fa-check, .fa-plus, .fa-eye, .fa-bolt {
  will-change: transform;
}

/* Spinner Animation */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Reduziert Layout Shifts */
.fa {
  display: inline-block;
  width: 1em;
  height: 1em;
}

/* Responsive Icon Classes */
.desktop-only {
  display: inline-block;
}

.mobile-only {
  display: none;
}

@media (max-width: 768px) {
  .desktop-only {
    display: none;
  }
  
  .mobile-only {
    display: inline-block;
  }
}

/* Upgrade Icon Styling */
.upgrade {
  color: #10b981;
}
